如何 运行 BrowserStackLocal 用于防火墙后的网站

How to run BrowserStackLocal for website behind firewall

我正在尝试 运行 针对位于我们防火墙后面的 url 进行测试。

我运行这个命令:

./BrowserStackLocal [KEY] -force &

然后我 运行 我的测试:

py.test blah blah

在 BrowserStack 中我看到这个错误:

我一定是在 运行 运行 BrowserStackLocal 二进制文件时做错了什么,但我不知道是什么。

有什么想法吗?

要访问 BrowserStack Automate 上的本地服务器,您可以按照以下步骤操作:

  1. 通过执行本地测试二进制文件设置本地测试连接。

  2. 在您的脚本中添加功能 'browserstack.local' = true

看来您已经完成了第1步,您是否也添加了该功能?

这里需要考虑一些事情:

  1. 您是否设置了正确的主机设置。
  2. 您是否尝试过多个浏览器版本,因为我在尝试 IE 和 chrome Android 设备时遇到一些错误。

请尝试使用下面的简单代码并检查:

   public static final String USERNAME = "xyz";
   public static final String AUTOMATE_KEY = "xyz";
   public static final String URL = "http://" + USERNAME + ":" + AUTOMATE_KEY + "@hub.browserstack.com/wd/hub";
   public static void main(String[] args) throws Exception
   {
          DesiredCapabilities caps = new DesiredCapabilities();
          System.setProperty("java.net.useSystemProxies", "true");
          System.setProperty("http.proxyHost","2.2.2.2");
          System.setProperty("http.proxyPort","8080");
          System.setProperty("http.proxyUser","xyz");
          System.setProperty("http.proxyPass","xyz");
          caps.setCapability("browser", "FireFox");
          caps.setCapability("browser_version", "40.0");
          caps.setCapability("os", "Windows");
          caps.setCapability("browserstack.debug", "true");
          caps.setCapability("browserstack.local", "true"); 
          WebDriver driver = new RemoteWebDriver(new URL(URL), caps);
          driver.get("http://www.google.com");
          WebElement element = driver.findElement(By.name("q"));
          element.sendKeys("BrowserStack");
          element.submit();
          System.out.println(driver.getTitle());
          driver.quit();
   }