在用Selenium和Protractor用iPhone编写的测试中,我在BrowserStack上测试C#时遇到了问题。
测试开始运行,在打开到我的网站的网页后,它只是挂起,永远不会移动到StringAssert步骤。当这种情况发生时,没有错误。我必须手动停止我的测试和BrowserStack中的会话才能继续。
我尝试从BrowserStack的功能中打开日志记录,但是没有错误返回,控制台日志也是空的。我也尝试过多次对iPhones的信任。
注意,这个示例测试在BrowserStack上的Android 2和Windows 10测试中运行良好,只是iPhone的测试给我带来了这个问题。
这是我的样本测试:
class Class1
{
[Test]
public static void FirstTest()
{
IWebDriver driver;
DesiredCapabilities capability = new DesiredCapabilities();
capability.SetCapability("browserName", "iPhone");
capability.SetCapability("device", "iPhone 6S");
capability.SetCapability("realMobile", "true");
capability.SetCapability("os_version", "11.4");
capability.SetCapability("browserstack.console", "errors");
capability.SetCapability("browserstack.user", "");
capability.SetCapability("browserstack.key", "");
driver = new RemoteWebDriver(new Uri("http://hub-cloud.browserstack.com/wd/hub/"), capability);
driver.Manage().Timeouts().AsynchronousJavaScript = TimeSpan.FromSeconds(10);
NgWebDriver ngdriver = new NgWebDriver(driver);
ngdriver.Navigate().GoToUrl("https://myproduction.website/");
StringAssert.Contains("MyTitle", ngdriver.Title);
NgWebElement query = ngdriver.FindElement(NgBy.Model("employeeCode"));
query.Clear();
query.SendKeys("Browserstack");
Console.WriteLine(ngdriver.Title);
ngdriver.Quit();
}
}发布于 2018-07-27 18:11:56
我知道你正在对真实的iOS设备进行量角器测试。量角器采用JavaScripts注射execute_async法。Appium不完全支持execute_async方法,因此您可能会看到失败。您将在以下链接中找到有关此问题的更多详细信息:
https://stackoverflow.com/questions/51562359
复制相似问题