Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/373.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
Java org.openqa.selenium.remote.UnreachableBrowserException:无法启动新会话_Java_Selenium_Selenium Webdriver_Webdriver_Browserstack - Fatal编程技术网

Java org.openqa.selenium.remote.UnreachableBrowserException:无法启动新会话

Java org.openqa.selenium.remote.UnreachableBrowserException:无法启动新会话,java,selenium,selenium-webdriver,webdriver,browserstack,Java,Selenium,Selenium Webdriver,Webdriver,Browserstack,我正在尝试运行一个selenium脚本,以便在这里提到的浏览器堆栈中实现自动化 当我在eclipse中运行这个脚本时,我发现了下面的错误 [TestNG] Running: C:\Users\pramod.kg\AppData\Local\Temp\testng-eclipse--1068635842\testng-customsuite.xml FAILED CONFIGURATION: @BeforeClass setUp org.openqa.selenium.remote

我正在尝试运行一个selenium脚本,以便在这里提到的浏览器堆栈中实现自动化

当我在eclipse中运行这个脚本时,我发现了下面的错误

    [TestNG] Running:
  C:\Users\pramod.kg\AppData\Local\Temp\testng-eclipse--1068635842\testng-customsuite.xml

FAILED CONFIGURATION: @BeforeClass setUp
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: '2.46.0', revision: '87c69e2', time: '2015-06-04 16:17:10'
System info: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.7.0'
Driver info: driver.version: RemoteWebDriver
    at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:599)
    at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:242)
    at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:128)
    at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:155)
    at bro.setUp(bro.java:30)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:84)
    at org.testng.internal.Invoker.invokeConfigurationMethod(Invoker.java:564)
    at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:213)
    at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:138)
    at org.testng.internal.TestMethodWorker.invokeBeforeClassMethods(TestMethodWorker.java:175)
    at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:107)
    at org.testng.TestRunner.privateRun(TestRunner.java:767)
    at org.testng.TestRunner.run(TestRunner.java:617)
    at org.testng.SuiteRunner.runTest(SuiteRunner.java:334)
    at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:329)
    at org.testng.SuiteRunner.privateRun(SuiteRunner.java:291)
    at org.testng.SuiteRunner.run(SuiteRunner.java:240)
    at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
    at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
    at org.testng.TestNG.runSuitesSequentially(TestNG.java:1224)
    at org.testng.TestNG.runSuitesLocally(TestNG.java:1149)
    at org.testng.TestNG.run(TestNG.java:1057)
    at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:111)
    at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:204)
    at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:175)
Caused by: org.apache.http.conn.HttpHostConnectException: Connect to hub.browserstack.com:80 [hub.browserstack.com/5.255.93.10] failed: Connection timed out: connect
    at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:151)
    at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:353)
    at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:380)
    at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:236)
    at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:184)
    at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:88)
    at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110)
    at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184)
    at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:71)
    at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:55)
    at org.openqa.selenium.remote.internal.ApacheHttpClient.fallBackExecute(ApacheHttpClient.java:143)
    at org.openqa.selenium.remote.internal.ApacheHttpClient.execute(ApacheHttpClient.java:89)
    at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:134)
    at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:578)
    ... 28 more
Caused by: java.net.ConnectException: Connection timed out: connect
    at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source)
    at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
    at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
    at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
    at java.net.PlainSocketImpl.connect(Unknown Source)
    at java.net.SocksSocketImpl.connect(Unknown Source)
    at java.net.Socket.connect(Unknown Source)
    at org.apache.http.conn.socket.PlainConnectionSocketFactory.connectSocket(PlainConnectionSocketFactory.java:74)
    at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:134)
    ... 41 more

SKIPPED CONFIGURATION: @AfterClass tearDown
SKIPPED: testSimple

===============================================
    Default test
    Tests run: 1, Failures: 0, Skips: 1
    Configuration Failures: 1, Skips: 1
===============================================


===============================================
Default suite
Total tests run: 1, Failures: 0, Skips: 1
Configuration Failures: 1, Skips: 1
===============================================

[TestNG] Time taken by org.testng.reporters.jq.Main@40ee1aeb: 163 ms
[TestNG] Time taken by org.testng.reporters.SuiteHTMLReporter@4ca6c0c9: 807 ms
[TestNG] Time taken by org.testng.reporters.XMLReporter@1decb654: 72 ms
[TestNG] Time taken by [FailedReporter passed=0 failed=0 skipped=0]: 10 ms
[TestNG] Time taken by org.testng.reporters.JUnitReportReporter@4158c7fa: 12 ms
[TestNG] Time taken by org.testng.reporters.EmailableReporter2@74bcc82f: 18 ms

问题是由于在代理后运行脚本。由于被阻止访问URL
hub.browserstack.com,我出现了此错误。

您能发布更多关于如何初始化webdriver/webbrowser的代码吗?@spcial iI已经添加了代码。请check@spcial我想在browserstack提供的远程浏览器中运行脚本。所以我想我不能像你说的那样设定路径,因为你完全正确,所以我删除了我的“答案”。实际上我自己也没有用过browserstack。但我认为您是对的,这是一个代理设置失败,因为
HttpHostConnectException
。。我也坐在代理后面,无法ping hub.browserstack.com。。但是从我的vserver(不在代理后面)执行ping可以很好地工作。您可以打开控制台并尝试“ping hub.browserstack.com”。。如果你没有收到ping回复,我认为代理很可能会阻止它:)@spcial我从cmd收到ping,请求超时。所以我认为这是一个代理问题。你是如何解决这个问题的?当我尝试访问提到的URL时,我得到了{“value”:{“message”:“Invalid Command”}响应
import org.testng.annotations.Test;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.Assert;
import java.net.URL;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.remote.RemoteWebDriver;

public class bro{

  public static final String USERNAME = "xxx";
  public static final String ACCESS_KEY = "xxx";
  public static final String URL = "http://" + USERNAME + ":" + ACCESS_KEY + "@xx.yy.com/wd/hub";

  private WebDriver driver;  

  @BeforeClass
  public void setUp() throws Exception {
 DesiredCapabilities caps = new DesiredCapabilities();
 caps.setCapability("browser", "Firefox");
 caps.setCapability("browser_version", "23.0");
 caps.setCapability("os", "Windows");
 caps.setCapability("os_version", "XP"); 
        caps.setCapability("browserstack.debug", "true"); //This enable Visual Logs
        driver = new RemoteWebDriver(new URL(URL), caps);
  }  

  @Test
  public void testSimple() throws Exception {
    driver.get("http://www.google.com");
    System.out.println("Page title is: " + driver.getTitle());
    Assert.assertEquals("Google", driver.getTitle());
    WebElement element = driver.findElement(By.name("q"));
    element.sendKeys("seleniumworks");
    element.submit();    
  }

  @AfterClass  
  public void tearDown() throws Exception {  
    driver.quit();  
  }  

}