我的量角器。conf.js(相关部分)
capabilities: {
'browserName': 'chrome',
'chromeOptions': {
'args': ['headless', 'disable-gpu']
}
}
如果我在正常模式下运行量角器,所有测试都通过了。以及如果我用map.click()替换这段代码。
browser.actions()
.mouseDown()
.mouseMove(map, {x: 500, y: 150})
.click()
.mouseDown()
.perform();
编辑:我以前没有添加错误,因为我认为它们在我的情况下没有用。但他们在这里,因为有人认为他们是相关的。
失败:
1) 量角器演示应用程序位置排序应在距地图中心不同的距离上创建2个位置消息:预期0为2。堆栈:错误:对象的预期失败。它(/home/piliponful/projects/mocha test/spec.js:138:38)位于/home/piliponful/。nvm/versions/node/v7.10.0/lib/node_modules/gradutor/node_modules/jasminewd2/index。js:112:25在ControlFlow的新ManagedPromise(/home/piliponful/.nvm/versions/node/v7.10.0/lib/node\u modules/gradutor/node\u modules/selenium-webdriver/lib/promise.js:1067:7)。promise(/home/piliponful/.nvm/versions/node/v7.10.0/lib/node\u modules/gradutor/node\u modules/selenium webdriver/lib/promise.js:2396:12)在schedulerExecute(/home/piliponful/.nvm/versions/node/v7.10.0/lib/node\u modules/gradutor/node\u modules/jasminewd2/index.js:95:18)在TaskQueue。在TaskQueue上执行(/home/piliponful/.nvm/versions/node/v7.10.0/lib/node\u modules/gradutor/node\u modules/selenium-webdriver/lib/promise.js:2970:14)。executeNext_u(/home/piliponful/.nvm/versions/node/v7.10.0/lib/node\u modules/dragrator/node\u modules/selenium-webdriver/lib/promise.js:2953:27)异步运行(/home/piliponful/.nvm/versions/node/v7.10.0/lib/node\u modules/dragragrator/node\u modules/selenium-webdriver/lib/promise.js:2860:25)at/home/piliponful/。nvm/versions/node/v7.10.0/lib/node_modules/gradutor/node_modules/selenium-webdriver/lib/promise。js:676:7 at过程_tickCallback(internal/process/next\u tick.js:109:7)
2)量角器演示应用程序地点排序应排序地点消息:预期0为2。堆栈:错误:失败的期望在Onode_modules(/home/piliponful/project/mocha-test/Next_: 38)在 /home/piliponful/.nvm/versions/node/v7.10.0/lib/node_modules/protractor/node_modules/jasminewd2/node_modules: 25在新的ManagedPromise(/home/piliponful/. nvm/version/node/v7.10.0/lib/node_modules/protractor/node_modules/selenium-web驱动程序/lib/node_modules: 7)在ControlFlow.promise(/home/piliponful/. nvm/version/v7.10.0/lib/node_modules/protractor/node_modules/selenium-web驱动程序/lib/promise.js:2396: 12)在TaskQ执行(/home/piliponful/. nvm/version/node/v7.10.0/lib/node_modules/protractor/node_modules/jasminewd2/index.js:95: 18)在TaskQueue.execute_(/home/piliponful/. nvm/version/node/v7.10.0/lib/node_modules/protractor/bject.it/selenium-web驱动程序/asyncRun(/home/piliponful/. nvm/version/node/v7.10.0/lib/node_modules/量角器/node_modules/selenium-web驱动程序/lib/promise.js:2860: 25)在 /home/piliponful/.nvm/versions/node/v7.10.0/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:676: 7在进程。_tickCallback(内部/进程/next_tick.js:109: 7)消息:失败:索引出界。试图访问索引: 0的元素,但只有0个元素匹配定位器by.binding("place.title")堆栈: NoSuchElementError:索引出界。尝试访问索引:0的元素,但只有0个元素匹配定位器by.binding("place.title")在selenium_webdriver_1.promise.all.then(/home/piliponful/. nvm/version/node/v7.10.0/lib/node_modules/量角器/lib/element.ts:287: 17)在ManagedP /home/piliponful/.nvm/versions/node/v7.10.0/lib/node_modules/protractor/node_modules/seleniumCallback_(/home/piliponful/. nvm/version/v7.10.0/lib/node_modules/量角器/node_modules/selenium-web驱动程序/lib/promise.js:1366: 14)在TaskQueue.execute_(/home/piliponful/. nvm/version/node/v7.10.0/lib/node_modules/protractor/node_modules/selenium-web驱动程序/lib/promise.js:2970: 14)在TaskQueue.executeNext_(/home/piliponful/. nvm/version//node/v7.10.0/lib/node_modules/protractor/node_modules/selenium-web驱动程序/lib/promise.js:2953: 27)在asyncRun(/home/piliponful/_tickCallback(内部/进程/next_tick.js:109: 7)错误在ElementArrayFinder.apply(/home/piliponful/. nvm/版本/节点/v7.10.0/lib/node_modules/量角器/lib/element.ts:482: 23)在ElementArrayFinder.(匿名函数). args[作为getText](/home/piliponful/. nvm/版本/节点/v7.10.0/lib/node_modules/量角器/lib/element.ts:96: 21)在ElementFinder.(匿名函数). args[作为getText](/home/piliponful/. nvm/版本/节点/v7.10.0/lib/node_modules/量角器/lib/element.ts:873: 14)在placeListText. then(/home/piliponful/项目/mocha-test/规范. js: 150:38)在ManagedPromise.invokeCallback_(/home/piliponful/. nvm/版本/节点/v7.7.10.0/lib/place.title任务队列。executeNext_(/home/piliponful/. nvm/version/node/v7.10.0/lib/node_modules/量角器/node_modules/selenium-web驱动程序/lib/promise. js: 2953:27)在asyncRun(/home/piliponful/. nvm/version/v7.10.0/lib/node_modules/量角器/node_modules/selenium-web驱动程序/lib/promise. js: 2813:27)在 /home/piliponful/.nvm/versions/node/v7.10.0/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js: 676:7在进程。_tickCallback(内部/进程/next_tick. js: 109:7)来自:任务:在对象的控制流中运行它(“应该排序位置”)。(/home/piliponful/. nvm/version/node/v7.10.0/lib/node_modules/量角器/node_modules/jasminewd2/index. js: 94:19)在进程即时的(timers. js: 645:5)在进程即时的回调(timers. js: 672:20)项目/摩卡测试/规范. js: 140:5)在Suite.描述(/home/piliponful/项目/摩卡测试/规范. js: 87:3)在对象。(/home/piliponful/项目/摩卡测试/规范. js: 1:1)在模块。_compile(模块. js: 571:32)在对象。模块。_extensions... js(模块. js: 580:10)在Module. load(模块. js: 488:32)在tryModuleLoad(模块. js: 447:12)在函数。模块。_load(模块. js: 439:3)在模块。需要(模块. js: 498:17)
13个规格,3次失败
是的,您不能在无头chrome中使用mouseMobile()
,因为并非所有浏览器操作都能按预期工作。例如,browser.actions(). sendKeys(Key. DELETE)。执行()
只需使用以下命令,而不是mouseMobile():
browser.executeScript("arguments[0].scrollIntoView();", map)
map.click()
我可以看出,您的选项语法与量角器规范不同。此外,无头需要预先指定窗口大小。请试试这个,看看是否有帮助。
capabilities: {
'browserName': 'chrome',
'chromeOptions': {
'args': ['--headless', '--disable-gpu', '--window-size=800,600']
}
}
我没有找到让量角器browser.actions()在chrome中使用无头模式的解决方案。但是我使用了Xvfb docker映像(webnicer/protractor-head less),一切都按预期工作。
问题内容: 嗨,我在让基本量角器测试正常工作时遇到了一些麻烦。 我的设置: 我使用requirejs,所以我使用angular.bootstrap()而不是ng-app attr来初始化angular。根据量角器文档,此功能不被立即使用,但对于不涉及单击的测试似乎效果很好。 量角器conf.json: 我使用一些包装在指令中的第三方jquery插件,我怀疑这些可能是问题的一部分。 考试: 错误
我使用Selenium和PhantomJS开发了几个Python脚本。当我转向自动下载时,我切换到了(headed)Firefox(有效),然后是Chrome,有了headless选项,这样浏览器就不会在我面前打开了。 我的第一个脚本访问一个页面和几个HTML元素,与无头Chrome完美地工作。 第二个,然而,工作与头铬。如果我加上“无头”选项,它就不再起作用了。当我试图以headless模式打印
配置: 规范1: 规范2: 进程已完成,退出代码为%1 在我的实际测试中,当我的规范与我提供的相似时,我也有同样的问题。当我看到由于某种原因真正发生了什么时,第二个规范的get(url)方法在第一个规范完成之前就开始执行了。我想我错过了一些核心和重要的东西,谁能给我指指点点吗?)
问题内容: 我正在使用python-selenium和Chrome 59,并尝试自动执行简单的下载序列。当我正常启动浏览器时,下载有效,但是当我以无头模式运行时,下载不起作用。 我什至尝试添加默认路径: 在常规实现中,添加默认路径是可行的,但是无头版本仍然存在相同的问题。 如何使下载以无头模式开始? 问题答案: 是的,这是安全的“功能”。如前所述,这里是Bug讨论:https : //bugs.c
问题内容: 新用户在这里。 经过数小时的抽烟和回归测试,在网上阅读了许多案例后,我发现phantomjs被认为很难与量角器一起运行。到目前为止,Jenkins一直在为所有任务运行phantomjs。 他们需要这些测试才能作为未安装窗口系统的ci的一部分运行。 因此,如果有关于完全无头浏览器或无头chrome的建议(这将是最有益的)并逐步进行设置,我将不胜感激。我已经有一个conf.js和e2e.c
经过数小时的构建我的烟雾和回归测试,我发现在网上阅读了许多案例后,phantomjs是已知的一个麻烦运行与量角器。Jenkins一直在运行phantomjs来完成目前为止赋予它的所有任务。 他们需要这些测试作为配置项的一部分运行,而配置项没有安装窗口系统。 因此,如果有一个完全无头浏览器或无头chrome(这将是最有益的)的推荐和一步一步地设置它,我将非常感激。我已经有一个conf.js和一个e2