Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我可以为量角器设置更长的超时以连接到selenium驱动程序吗?_Selenium_Selenium Webdriver_Protractor - Fatal编程技术网

我可以为量角器设置更长的超时以连接到selenium驱动程序吗?

我可以为量角器设置更长的超时以连接到selenium驱动程序吗?,selenium,selenium-webdriver,protractor,Selenium,Selenium Webdriver,Protractor,远程运行量角器测试(jenkins)有时会导致超时错误。这是不确定的 Starting selenium standalone server... [launcher] Running 1 instances of WebDriver [launcher] Process exited with error code 1 /opt/jenkins.dir/workspace/my-jenkins-job/integration-test/ui/node_modules/protractor/n

远程运行量角器测试(jenkins)有时会导致超时错误。这是不确定的

Starting selenium standalone server...
[launcher] Running 1 instances of WebDriver
[launcher] Process exited with error code 1

/opt/jenkins.dir/workspace/my-jenkins-job/integration-test/ui/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/promise.js:1761
      throw error;
            ^
Error: Timed out waiting for the WebDriver server at http://10.97.193.53:4455/wd/hub
    at Error (<anonymous>)
    at onResponse (/opt/jenkins.dir/workspace/my-jenkins-job/integration-test/ui/node_modules/protractor/node_modules/selenium-webdriver/http/util.js:87:11)
    at /opt/jenkins.dir/workspace/my-jenkins-job/integration-test/ui/node_modules/protractor/node_modules/selenium-webdriver/http/util.js:42:21
    at /opt/jenkins.dir/workspace/my-jenkins-job/integration-test/ui/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/http/http.js:96:5
    at ClientRequest.<anonymous> (/opt/jenkins.dir/workspace/my-jenkins-job/integration-test/ui/node_modules/protractor/node_modules/selenium-webdriver/http/index.js:145:7)
    at ClientRequest.emit (events.js:95:17)
    at Socket.socketErrorListener (http.js:1548:9)
    at Socket.emit (events.js:95:17)
    at net.js:441:14
    at process._tickCallback (node.js:448:13)
正在启动selenium独立服务器。。。
[launcher]正在运行1个WebDriver实例
[launcher]进程已退出,错误代码为1
/opt/jenkins.dir/workspace/my jenkins job/integration test/ui/node_modules/dragrator/node_modules/selenium webdriver/lib/webdriver/promise.js:1761
投掷误差;
^
错误:在等待WebDriver服务器时超时http://10.97.193.53:4455/wd/hub
错误()
在onResponse(/opt/jenkins.dir/workspace/my jenkins作业/integration test/ui/node_umodules/drator/node\u modules/selenium webdriver/http/util.js:87-11)
在/opt/jenkins.dir/workspace/my jenkins job/integration test/ui/node_modules/dragrator/node_modules/selenium webdriver/http/util.js:42:21
在/opt/jenkins.dir/workspace/my jenkins job/integration test/ui/node_modules/dragrator/node_modules/selenium webdriver/lib/webdriver/http/http.js:96:5
在ClientRequest。(/opt/jenkins.dir/workspace/my jenkins job/integration test/ui/node_modules/dragrator/node_modules/selenium webdriver/http/index.js:145:7)
在ClientRequest.emit(events.js:95:17)
位于Socket.socketErrorListener(http.js:1548:9)
在Socket.emit(events.js:95:17)
net.js:441:14
在进程中调用(node.js:448:13)
但是,当我在mac中本地运行测试时,没有问题,测试运行得非常完美

我曾尝试在远程机器中手动启动selenium服务器,我意识到有时它可以立即工作,有时我不得不等待一分钟

我的问题是:有没有办法告诉量角器等待webdriver连接的时间更长?

环境详情

  • 机器:红帽4.4.7-11
  • 量角器版本:1.8.0
  • Selenium服务器单机版:2.45.0

您可以使用driver.wait函数指定它

var webdriver = require('selenium-webdriver');
var protractor = require('protractor');

var driver = new webdriver.Builder().usingServer("seleniumAddress").build();
var browser = protractor.wrapDriver(driver);

browser.driver.wait(driver.getWindowHandle(), 5000, 'Server should start within 5 seconds');
参考资料:


  • 是的,它应该能解决你的问题。在dragrator.conf.js文件中使用seleniumServerStartTimeout选项,将超时时间从默认的30秒增加到90秒:

    exports.config = { 
      seleniumServerStartTimeout: 90000
    };
    
    我在CentOS 7虚拟机上也遇到了同样的问题。无论出于何种原因,selenium服务器每次启动所需的时间似乎大不相同,有时可能超过默认超时时间