10

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

  • 将其加载到浏览器中。
  • 单击一个按钮,该按钮执行一些 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。

4

3 回答 3

17

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

全面披露:我为 BrowserStack.com 工作。

于 2013-08-23T10:39:23.063 回答
4

我认为目前不可能...

他们的localhost 测试文档给出了他们的命令行如何工作的示例:

命令行界面

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

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

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

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

我刚刚收到他们发来的一封电子邮件,承诺在下个月(2013 年 5 月)的某个时候全面支持 selenium:

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

希望这可以帮助。

于 2013-04-15T20:33:19.083 回答
2

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

如您所见,一切都与您的硒测试几乎相同。您还可以从 selenium以及他们的screenshot API创建屏幕截图

于 2014-04-10T20:44:20.543 回答