Browserstack自动化:在代理后面浏览网站

时间:2015-02-13 18:04:06

标签: browserstack

我的网站根据用户详细信息(例如位置...)有不同的行为,我手动测试的方式是使用代理浏览网站,使用Browserstack进行此测试吗?

换句话说,我可以指定Browserstack在浏览我的网站时使用的代理吗?

2 个答案:

答案 0 :(得分:4)

是的,您需要设置BrowserStack Local Testing。您可以在使用命令行二进制文件时使用这些参数。

  1. -proxyHost HOST - 代理服务器的主机名/ IP地址。如果未设置此标志,则忽略其余代理选项。
  2. -proxyPort PORT - 代理服务器的端口。默认为3128。
  3. -proxyUser USERNAME - 用于连接代理服务器的用户名(仅限基本身份验证)。
  4. -proxyPass PASSWORD - 用于连接代理服务器的密码(仅限基本身份验证)。如果未设置-proxyUser标志,则为-proxyPass 将被忽略。
  5. 有关详细信息,请参阅BrowserStack's documentation

答案 1 :(得分:0)

您需要打开命令提示符并使用此命令: BrowserStackLocal.exe -proxyHost 2.2.2.2 -proxyPort 8080 -proxyUser xyz -proxyPass sksk -forcelocal xyz

您可以将此简单代码用于学习目的:

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