标签: angularjs-e2e

在业力场景中调用"睡眠"或"暂停"以获得角度应用中断框架

我有一个角度应用程序,用于$routeProvider将不同的部分加载到ng-view.

因此,在我的e2e场景中,当我打电话时browser().navigateTo('/'),我还需要调用sleep(0.5)或等待元素实际出现.

不幸的是,电话sleep完全打破了测试!突然之间,框架的行为似乎根本看不到页面,并且永远找不到元素.

我的e2e测试中我不必等待加载任何东西,可以找到我期望的所有元素,但是如果我在那些测试中进行睡眠调用,那么它们也会中断.

有没有人建议看什么?有些方法可以增加控制台的冗长程度?将测试仪重新聚焦的一些方法?

附加信息:

  • 浏览器控制台或命令行控制台上没有错误输出!
  • 我已经直接从angular-seed项目中复制了我的业力设置.据我所知,他们是完全相同的.

javascript angularjs karma-runner angularjs-e2e

5
推荐指数
1
解决办法
2476
查看次数

如何使用量角器访问ng-grid元素?

我想为使用ng-grid的页面编写量角器测试.我没有看到有关如何做到这一点的任何文档.在我的页面上,我看到一个包含数据的网格,html看起来像这样:

<div class="gridStyle" 
     ng-grid="tenantsGridOptions" 
     ng-if="tenantsGridOptions != undefined" >
</div>
Run Code Online (Sandbox Code Playgroud)

如何从量角器中找到此网格上的元素?

ng-grid angularjs-e2e protractor

5
推荐指数
1
解决办法
3932
查看次数

退出量角器e2e测试失败?

有没有人知道是否有可以添加到量角器的配置,e2e.conf.js所以它一旦失败就退出测试?默认行为是,如果测试在早期失败,则需要等到它完成以修复错误.

从工作流的角度来看,这非常令人沮丧.

解决这个问题的任何方法?

谢谢

tdd angularjs angularjs-e2e protractor

5
推荐指数
1
解决办法
1016
查看次数

从量角器(硒)激活时激活铬语言标志

我正在使用Protractor为角网站编写端到端测试.

我们必须支持某些语言,所以我想使用--lang标志初始化chrome并使用其他语言启动它.我在网上搜索过,找不到任何可以做到的例子.

我唯一的领导是我看到的一些文章并且理解我需要在Protractor配置文件中添加"功能"部分,在那里我可以定义"args"属性.

然后试着修补它但没有运气.

我们非常欢迎任何帮助.

谢谢,

阿龙

selenium angularjs angularjs-e2e protractor

5
推荐指数
2
解决办法
3944
查看次数

量角器单击隐藏元素"RangeError:超出最大调用堆栈大小"

我在尝试点击量角器测试中的隐藏元素时遇到问题.

下面是返回的错误消息,以及导致错误消息的代码段.任何关于为什么抛出这个错误的想法都将非常感激.

RangeError: Maximum call stack size exceeded


browser.driver.executeScript("return arguments[0].click()", bank_page.boaClick);
Run Code Online (Sandbox Code Playgroud)

并且"bank_page.boaClick()"被引用为页面Object上的变量,其片段如下所示:

 boaClick: { get: function () { return element.all(by.model('bankConnection.bank')).get(0); }},
Run Code Online (Sandbox Code Playgroud)

以下是我试图用该变量引用的片段:

<input type="radio" ng-model="bankConnection.bank" ng-value="bank" class="ng-valid ng-dirty" name="00D" value="[object Object]">
Run Code Online (Sandbox Code Playgroud)

我基本上只是想能够点击这个单选按钮,但是按钮是一个隐藏的元素,所以在线搜索后,第一个"browser.driver.executeScript"调用似乎是实现这一目标的最佳选择,但我得到了RangeError回来了,因为我已经实现了它.

angularjs angularjs-e2e protractor

5
推荐指数
1
解决办法
1688
查看次数

量角器 - Appium -

我可以使用Protractor + Appium在桌面,移动设备上运行自动化测试.但是,运行自定义测试时遇到问题,仅适用于桌面/移动设备.

例如:我的一个测试验证面包屑,它只显示在桌面屏幕分辨率中.

如果有解决方案可以检查是否在桌面或移动设备中执行测试,请指教.

eg; it('check breadcrumb in website', function(){
       if(isDesktop()){
         contentItemPage.checkBreadCrumb();  
       }
    });
Run Code Online (Sandbox Code Playgroud)

与以下内容类似,检查浏览器是否为Chrome.

 function isChromeBrowser(){ 
          browser.getProcessedConfig().then(function(config) {
               if(config.capabilities.browserName.valueOf() === new String('chrome').valueOf()){
                    return true;
               } 

               return false;
              
              
       
          });
} 
Run Code Online (Sandbox Code Playgroud)

提前致谢.

javascript screen-resolution appium angularjs-e2e protractor

5
推荐指数
1
解决办法
485
查看次数

使用Microsoft Edge设置Protractor

我使用CucumberJs和Gulp来运行我的e2e测试; 但是,我需要针对Microsoft Edge运行它们.当我这样做时gulp protractor,它成功打开了Chrome和Firefox,因为它们都不需要像IEDriver.exe或那样的驱动程序EdgeDriver.exe.

如果有关如何使用Microsoft Edge设置Protractor的简单方法,是否有人可以指向我的文章或显示以下步骤?

我试图通过在多个浏览器上执行测试来实现并行性; 这是我的配置看起来像:

 exports.config = {
  framework: 'cucumber',
  shardTestFiles: true,
  maxInstances: 2,
  multiCapabilities: [
    {
       'browserName': 'MicrosoftEdge',
       'platform': 'windows',
      }
    },
    {
      'browserName': 'firefox',
      loggingPrefs: {
        driver: 'DEBUG',
        server: 'INFO',
        browser: 'ALL'
      }
    }],
    //more configs here
}
Run Code Online (Sandbox Code Playgroud)

我在上面实现了配置,使用这篇文章并行运行量角器e2e测试:http://blog.yodersolutions.com/run-protractor-tests-in-parallel/

IE driver如果您不知道如何设置Edge ,那么也可以使用其中一个.

更新:

从这个链接:https://msdn.microsoft.com/en-us/library/mt188085(v = vs.85).aspx ; 在下面

使用Microsoft Edge启用WebDriver:

下载您选择的WebDriver语言绑定.目前支持C#和Java Selenium语言绑定.

没有使用Java或C#,我只使用Javascript(Protractor) ; 这是否意味着Javascript currenlty的语言绑定不适用于Edge浏览器?

换句话说,我们目前无法使用Protractor(Javascript)自动化Edge浏览器?

任何帮助非常感谢,如果我发现有关设置Protractor with …

angularjs-e2e protractor gulp cucumberjs microsoft-edge

5
推荐指数
1
解决办法
3800
查看次数

量角器中的'$'选择器

我在很多这样的例子中看到过$('.selector'),我也在使用它.那么这个$变量做了什么.这是我从量角器文档中得到的.

可以将对$的调用链接起来查找父项中的元素.

文档中没有$单独使用的示例.我们使用$到链element选择.

另外$('.selector')本身就是一个元素,我们做到这一点的时候element($('.selector')),这是一个错误.

那么如何$在量角器中使用这个选择器.它具有的所有功能吗JQuery $?我试过$('.selector').children说哪个children不是功能.

任何帮助是极大的赞赏.

谢谢!

angularjs angularjs-e2e protractor gulp-protractor

5
推荐指数
1
解决办法
8266
查看次数

量角器5.1.1不适用于Chrome 58

最近我的Chrome浏览器更新到了Version 57.0.2987.133 (64-bit).因此,我现有的量角器测试不适用于当前版本的chrome.错误消息是

失败:未知错误:无法使用'in'运算符在false中搜索'String'(会话信息:chrome = 58.0.3029.96)(驱动程序信息:chromedriver = 2.29.461591(62ebf098771772160f391d75e589dc567915b233),platform = Windows NT 6.3.9600 x86_64 )(警告:服务器未提供任何堆栈跟踪信息)命令持续时间或超时:18毫秒构建信息:版本:'3.4.0',修订版:'未知',时间:'未知'系统信息:主机:'WIN- DA72NJNI5DP',ip:'172.16.230.61',os.name:'Windows Server 2012 R2',os.arch:'amd64',os.version:'6.3',java.version:'1.8.0_131'驱动程序信息: org.openqa.selenium.chrome.ChromeDriver Capabilities [{applicationCacheEnabled = false,rotating = false,mobileEmulationEnabled = false,networkConnectionEnabled = false,chrome = {chromedriverVersion = 2.29.461591(62ebf098771772160f391d75e589dc567915b233),userDataDir = C:\ Users\ADMINI~1\AppData\Local\Temp\scoped_dir7512_11086},takeHeapSnapshot = true,pageLoadStrategy = normal,databaseEnabled = false,handlesAlerts = true,hasTo uchScreen = false,version = 58.0.3029.96,platform = WIN8_1,browserConnectionEnabled = false,nativeEvents = true,acceptSslCerts = true,locationContextEnabled = true,webStorageEnabled = true,browserName = chrome,takesScreenshot = true,javascriptEnabled = true,cssSelectorsEnabled = true, unexpectedAlertBehaviour =}]

即使我已将我的Chrome驱动程序版本更新为2.28然后再更新2.29.但它不起作用.以下是有关我当前测试环境的更多信息:

  • 铬:58.0.3029.81
  • 量角器:5.1.1
  • webdriver-manager:12.0.4
  • 镀铬驱动程序:2.29
  • nodejs:6.9.4

javascript selenium-chromedriver angularjs angularjs-e2e protractor

5
推荐指数
1
解决办法
800
查看次数

无头Chrome量角器文件下载测试失败

我量角器测试有问题。它正在工作,但是现在(甚至认为没有任何变化)它没有。测试只是打开应用程序(Web应用程序),然后单击按钮下载图像。下载应立即开始。问题是,下载事件后的下一条指令将引发异常:失败:无法访问chrome。我正在使用最新的chrome和chrome驱动程序版本。

量角器的Capabilites部分如下所示:

capabilities: {
   browserName: 'chrome',
   loggingPrefs: { browser: 'ALL' },
   chromeOptions: {
      args: ['--headless', '--window-size=1240,780'],
   },
}
Run Code Online (Sandbox Code Playgroud)

我正在阅读有关使用DevTools以无头模式(Page.setDownloadBehavior)启用下载的信息,但到目前为止还算不上什么。

有人也有这个问题吗?任何线索如何解决它?

谢谢。

download angularjs-e2e protractor google-chrome-headless

5
推荐指数
1
解决办法
2090
查看次数