【问题标题】:How to run BrowserStackLocal for website behind firewall如何为防火墙后的网站运行 BrowserStackLocal
【发布时间】:2015-12-31 19:24:46
【问题描述】:

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

我运行这个命令:

./BrowserStackLocal [KEY] -force &

然后我运行我的测试:

py.test blah blah

在 BrowserStack 中我看到这个错误:

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

有什么想法吗?

【问题讨论】:

    标签: browserstack


    【解决方案1】:

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

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

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

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

    【讨论】:

    • 正确,我不仅必须使用 browserstack.local=true,而且还必须使用 v4.2。我将值设置为 true,但它仍然失败,但是当我升级到二进制文件的 v4.2 时,它开始工作。 (这是在 linux 64 位上)谢谢!
    • 运行了几天,又开始失败了。事实证明,browserstack.com/local-testing 上的二进制文件再次发生了变化,太糟糕了 1)该网页上没有二进制文件的版本历史记录 2)二进制文件不向后兼容 3)当您尝试运行旧版本时,二进制文件没有错误.啊
    【解决方案2】:

    这里有几件事要考虑:

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

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

       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();
       }
    

    【讨论】:

      猜你喜欢
      • 2018-08-29
      • 1970-01-01
      • 2016-07-27
      • 1970-01-01
      • 2017-11-09
      • 1970-01-01
      • 2017-05-07
      • 2010-09-22
      • 2020-10-24
      相关资源
      最近更新 更多