如何在browserstack.com上运行selenium测试?

时间:2013-03-19 16:04:12

标签: selenium web-testing testswarm browserstack

说我想在我的网站上执行以下测试:

  • 将其加载到浏览器中。
  • 点击按钮,执行一些Javascript。
  • 等待Javascript操作完成。
  • 查看页面现在的显示方式。

我知道如何为此创建 Selenium 测试。我也知道如何手动在 browserstack.com 上执行此测试,也就是说,为我需要的每个浏览器启动BrowserStack VM,然后执行这些步骤。

如何将Selenium测试(可以是JS或C#或其他)与BrowserStack 结合使用,以便BrowserStack在我需要的所有浏览器中执行测试,然后向我发送一些报告,像一堆截图?

BrowserStack在http://www.browserstack.com/automated-browser-testing-api提供了一些关于TestSwarm和Selenium的小文档,但由于我是Web测试主题的新手,我不知道BrowserStack,Selenium和TestSwarm如何相互作用。

编辑: Selenium和Testswarm只是示例,我不喜欢任何框架,我只需要自动化BrowserStack。

3 个答案:

答案 0 :(得分:16)

BrowserStack.com现在支持名为Automate的端到端硒测试。有一个documentation可以帮助您开始使用相当多的编程语言的示例代码。与其他产品一样,隧道和其他一些功能已经集成。

完全披露:我在BrowserStack.com工作。

答案 1 :(得分:4)

我认为此时不可能......

他们的localhost testing doc举例说明了他们的命令行是如何工作的:

  

命令行界面

     

java -jar BrowserStackTunnel.jar TI3PnSeogaDEcwSyiSzm localhost,3000,0

根据我对硒的经验,这并没有让任何方式启动硒测试。

以下是我如何调用硒测试的示例:

java -Dpfile="../properties/ff-test.properties" -jar ../runselenium.jar ca.myorg.tests.HappyPathTest 

我刚收到他们发来的电子邮件,承诺下个月(2013年5月)的某些时候会全力支持硒:

  

我们正在努力实施全面的自动化测试,包括Selenium,并期望它将在下个月的某个时候发布。完成后我们会亲自通知您。

希望这有帮助。

答案 2 :(得分:1)

目前在Selenium上运行自动任务非常简单。 Browserstack创建了非常好的文档(涵盖了不同的语言)。例如,您需要为C#执行此操作的方式。因此,您只需要修改一下您的selenium测试,获取您的API密钥(如果您将订阅此服务,它将已经在页面上)并选择您希望测试完成的OS / Browser / Device

using System;
using OpenQA.Selenium;
using OpenQA.Selenium.Remote;

namespace SeleniumTest {
  class Program {
    static void Main(string[] args) {
      IWebDriver driver;
      DesiredCapabilities capability = DesiredCapabilities.Firefox();
      capability.SetCapability("browserstack.user", "USER_ID");
      capability.SetCapability("browserstack.key", "API_KEY");

      driver = new RemoteWebDriver(
        new Uri("http://hub.browserstack.com/wd/hub/"), capability
      );
      driver.Navigate().GoToUrl("http://www.google.com/ncr");
      Console.WriteLine(driver.Title);

      IWebElement query = driver.FindElement(By.Name("q"));
      query.SendKeys("Salvador Dali");
      query.Submit();
      Console.WriteLine(driver.Title);

      driver.Quit();
    }
  }
}

如您所见,一切与您的硒测试几乎相同。您还可以创建screenshots from selenium以及screenshot API