BrowserStack - 无法启动新会话可能的原因是远程服务器地址无效或浏览器启动失败

问题描述

在我本地的 Jenkins Docker 容器中,我可以毫无问题地运行我的测试计划。 即使不给

enter image description here

但是,在我办公室的 Jenkins 服务器中,我按照 https://www.browserstack.com/docs/automate/selenium/jenkins#configuring-browserstack-credentials

进行了设置

但是我收到了这个错误

    org.openqa.selenium.remote.UnreachablebrowserException: 
Could not start a new session. Possible causes are invalid address of the Remote Server or browser start-up failure.
Build info: version: '3.141.59',revision: 'e82be7d358',time: '2018-11-14T08:17:03'
System info: host: 'hidden',ip: 'hidden',os.name: 'Linux',os.arch: 'amd64',os.version: '3.10.0-1160.15.2.el7.x86_64',java.version: '1.8.0_201'
Driver info: driver.version: RemoteWebDriver
    at com.sam.browserstack.browserstackInitiation.setUp(browserstackInitiation.java:78)
Caused by: java.net.socketTimeoutException: connect timed out
    at com.sam.browserstack.browserstackInitiation.setUp(browserstackInitiation.java:78)

我的构建命令如下。

export M2_HOME=/var/jenkins_home/tools/hudson.tasks.Maven_MavenInstallation/Maven3
export PATH=$PATH:$M2_HOME/bin
mvn --version

cd CommonPagesstorage
mvn clean install -DskipTests
cd ..
cd AutomationFrameworkDemo
mvn clean test -Dbrowser="${browser}" -Dbrowser_version="${browser_version}" -Dos_version="10" -Dos="Windows" -Dlocalrun="false"  -Dtestxml=src/test/TestSuites/${TestPlanName}

我也尝试将以下代码添加为导出,但无济于事。

export http_proxy="http://proxy-dev.can.myorg.com:8080"
export https_proxy="http://proxy-dev.can.myorg.com:8080"
export NO_PROXY=123.345.145.345,.can.myorg.com,localhost,200.0.0.2

解决方法

我从 netwrok 团队获得了列入白名单的 url,也需要下面的代码行。

https://username:password@hub-cloud.browserstack.com/wd/hub

(由于我使用自由风格的项目,为了获得 M2_HOME,我创建了一个 maven 项目,仅使用 mvn --version 作为 shell 命令并从输出控制台获取值)

export M2_HOME=/opt/software/apache-maven-3.6.3
export PATH=$PATH:$M2_HOME/bin
export http_proxy="http://proxy-dev.aws.skynet.com:8080"
export https_proxy="http://proxy-dev.aws.skynet.com:8080"
export NO_PROXY=777.777.777.777,.aws.skynet.com,localhost,127.0.0.1
mvn --version
cd CommonPagesStorage
mvn clean install -DskipTests
cd ..
cd AutomationFrameworkDemo
mvn clean test -Dhttp.proxyHost=proxy-dev.aws.skynet.com -Dhttp.proxyPort=8080 -Dhttps.proxyHost=proxy-dev.aws.skynet.com -Dhttps.proxyPort=8080 -Dbrowser="${Browser}" -Dbrowser_version="${browser_version}" -Dos_version="10" -Dos="Windows" -Dlocalrun="false"  -Dtestxml=src/test/TestSuites/${TestPlanName}