我正在使用量角器针对Angular应用程序运行测试。它们可以在我的OSX环境上工作,但不能在TeamCity试图运行它的Linux上工作。
当我在本地OSX环境上运行此命令时,它可以工作(也在我的同事计算机上进行了测试):
./node_modules/protractor/bin/protractor protractor.conf.js
Using ChromeDriver directly...
..
Finished in 5.55 seconds
2 tests, 2 assertions, 0 failures
当我在Linux机器上运行此程序时,或者TeamCity作业尝试运行它时,它失败了:
./node_modules/protractor/bin/protractor protractor.conf.js
Using ChromeDriver directly...
/usr/share/TeamCity/buildAgent/work/57bd89f9c9abb5d5/webapp/node_modules/protractor/node_modules/selenium-webdriver/http/util.js:87
Error('Timed out waiting for the WebDriver server at ' + url));
^
Error: Timed out waiting for the WebDriver server at http://127.0.0.1:52959/
at Error (<anonymous>)
at onResponse (/usr/share/TeamCity/buildAgent/work/57bd89f9c9abb5d5/webapp/node_modules/protractor/node_modules/selenium-webdriver/http/util.js:87:11)
at /usr/share/TeamCity/buildAgent/work/57bd89f9c9abb5d5/webapp/node_modules/protractor/node_modules/selenium-webdriver/http/util.js:42:21
at /usr/share/TeamCity/buildAgent/work/57bd89f9c9abb5d5/webapp/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/http/http.js:96:5
at ClientRequest.<anonymous> (/usr/share/TeamCity/buildAgent/work/57bd89f9c9abb5d5/webapp/node_modules/protractor/node_modules/selenium-webdriver/http/index.js:136:7)
at ClientRequest.EventEmitter.emit (events.js:95:17)
at Socket.socketErrorListener (http.js:1547:9)
at Socket.EventEmitter.emit (events.js:95:17)
at net.js:440:14
at process._tickCallback (node.js:415:13)
==== async task ====
WebDriver.createSession()
at Function.webdriver.WebDriver.acquireSession_ (/usr/share/TeamCity/buildAgent/work/57bd89f9c9abb5d5/webapp/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/webdriver.js:131:49)
at Function.webdriver.WebDriver.createSession (/usr/share/TeamCity/buildAgent/work/57bd89f9c9abb5d5/webapp/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/webdriver.js:111:30)
我已经看过这个问题,但是独立的webdriver服务器无法解决。
我看了这个问题,但是我的selenium-wedriver版本是2.42.1
,所以不是相同的错误。
$ node --version
v0.10.26
$ ./node_modules/protractor/bin/protractor --version
Version 1.0.0
$ uname -mrs
Linux 3.11.0-15-generic x86_64
尝试获取chrome-webdriver
暴露问题的版本:
$ ./node_modules/protractor/selenium/chromedriver --version
./node_modules/protractor/selenium/chromedriver: error while loading shared libraries: libnss3.so: cannot open shared object file: No such file or directory
据此,我得出了一个依赖性问题,并发现Selenium需要Chrome。(更多)。
我使用以下步骤在Linux机器上安装了Chrome :
sudo apt-get install libxss1 libappindicator1 libindicator7
sudo wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
sudo dpkg -i google-chrome*.deb
这不是完全一样的,但是经过几次来回依赖后,sudo apt-get install
我认为我安装了Chrome:
$ google-chrome --version
Google Chrome 36.0.1985.143
这使得chromedriver版本可以正常工作:
$ ./node_modules/protractor/selenium/chromedriver --version
ChromeDriver 2.10.267518
但是,运行量角器仍然不起作用:
$ ./node_modules/protractor/bin/protractor protractor.conf.js
Using ChromeDriver directly...
/usr/share/TeamCity/buildAgent/work/57bd89f9c9abb5d5/webapp/node_modules/protractor/node_modules/selenium-webdriver/lib/atoms/error.js:109
var template = new Error(this.message);
^
UnknownError: unknown error: Chrome failed to start: exited abnormally
(Driver info: chromedriver=2.10.267518,platform=Linux 3.11.0-15-generic x86_64)
at new bot.Error (/usr/share/TeamCity/buildAgent/work/57bd89f9c9abb5d5/webapp/node_modules/protractor/node_modules/selenium-webdriver/lib/atoms/error.js:109:18)
at Object.bot.response.checkResponse (/usr/share/TeamCity/buildAgent/work/57bd89f9c9abb5d5/webapp/node_modules/protractor/node_modules/selenium-webdriver/lib/atoms/response.js:106:9)
您需要能够无头运行Chrome或Firefox,为此,您需要配置Xvfb,否则,如果没有适当的$ DISPLAY,Chrome将无法启动。
您也可以使用PhantomJS,但是恕我直言,由于e2e测试不是真正的浏览器,因此对e2e测试有什么好处。
这是我成功用于连续测试的内容:https :
//github.com/elgalu/docker-selenium
我正在使用量角器对角度应用程序运行测试。他们在我的OSX环境中工作,但在TeamCity尝试运行它的Linux上却不工作。 当我在本地OSX环境中运行此命令时,它可以工作(在我的同事机器上也进行了测试): 当我在linux机器上运行此操作时,或者TeamCity作业尝试运行它时,它会失败: 我已经研究过这个问题,但独立的webdrive服务器不是解决方案。 我研究了这个问题,但我的selenium
我能够在非GUI centos/linux机器上以无头模式运行selenium。 我一直在尝试通过传递下面的chromeoptions参数来使用cache enable运行它。 chromeOptions。addArguments(“用户数据目录=~/.config/google chrome”); 它已经开始罚款和识别元素,直到登录页面(这是第一页),并且无法识别任何定位器之后。 运行启用缓存的
我正在尝试在一个使用chrome的Linux服务器上运行一个使用selenium webdriver实现的测试,并且不显示我的java代码 要运行此程序(jar),请使用以下命令启动Xvfb 当我运行程序时,经过一段长时间的等待,我得到了这个异常 当我尝试单独运行chrome时,a遇到了这个问题 问题是: 是在定位驱动程序的问题还是在chrome或我需要一些额外的配置?
我正在尝试使用Selenium Grid在MacOS上启动Safari进行一个基本测试。 我已经注册了该节点,它在我的中心中显示如下。 集线器确认节点已启动 浏览器超时:0 调试:假 主持人:10.120.45.211 端口:5558 角色:节点 超时:1800 清理周期:5000 最大会话:5 功能:功能{browserName:Safari,maxInstances:1,平台:MAC,平台名:
问题内容: 所以我有我的开源项目(https://github.com/ahmednuaman/radian),并且我有一些e2e测试,可以使用Protractor在本地正常运行。 我关注了Sauce Labs文档, 并进行了相应的设置。测试运行到Protractor尝试连接到Sauce Labs上的selenium服务器的地步,这是该错误的简短快照: 这是完整的工作日志:https : //tr
问题内容: 我有一种情况,我需要运行 一个 从窗户经常Linux shell命令(用不同的文件名)。我正在使用PuTTY和WinSCP来执行此操作(需要登录名和密码)。该文件通过WinSCP复制到linux机器中的预定义文件夹,然后从PuTTY运行命令。有没有一种方法可以使我通过程序自动执行此操作。理想情况下,我想从Windows右键单击该文件,然后发出命令,该命令会将文件复制到远程计算机,并以文