在远程站点使用BrowserStack iPhone时硒/量角器.NET测试挂起(Selenium/

2019-10-30 02:37发布

我在上BrowserStack测试iPhone用C#编写的硒和量角器网测试的问题。

测试开始运行并打开网页到我的网站后,它只是挂起,永不移动到StringAssert一步。 有没有错误,当发生这种情况。 我必须手动停止我的测试和BrowserStack的会议上继续。

我试图打开从BrowserStack的能力范围之内登录,但没有错误恢复和控制台日志为空。 我试过的iPhone多CONFIGS了。

请注意,这个样本测试正常工作与谷歌Android像素2和Windows 10上测试BrowserStack,只是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();
    }
}

Answer 1:

我知道你正在运行的真实iOS设备量角器测试。 量角器使用execute_async方法注入的JavaScript。 该execute_async方法不完全Appium支持由于您可能会看到失败。 你会发现下面的链接问题的详细信息:

  • https://github.com/angular/protractor/issues/2840
  • https://github.com/angular/protractor/issues/1736


文章来源: Selenium/Protractor .NET test hangs when using BrowserStack iPhone on remote website