说我想在我的网站上执行以下测试:
我知道如何为此创建 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。
答案 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