C# 在远程网站上使用BrowserStack iPhone时,Selenium/Digrator.NET测试挂起

C# 在远程网站上使用BrowserStack iPhone时,Selenium/Digrator.NET测试挂起,c#,selenium,browserstack,protractor-net,C#,Selenium,Browserstack,Protractor Net,我在BrowserStack上测试iPhone时遇到问题,测试用C语言编写,使用Selenium和Digrator net 测试开始运行,在它打开我的网站的网页后,它只是挂起,永远不会进入StringAssert步骤。发生这种情况时没有错误。我必须手动停止BrowserStack中的测试和会话才能继续 我尝试从BrowserStack的功能中打开日志记录,但没有返回错误,控制台日志为空。我也尝试过多种配置的iPhone 注意,这个示例测试可以很好地用于Android Google Pixel 2

我在BrowserStack上测试iPhone时遇到问题,测试用C语言编写,使用Selenium和Digrator net

测试开始运行,在它打开我的网站的网页后,它只是挂起,永远不会进入StringAssert步骤。发生这种情况时没有错误。我必须手动停止BrowserStack中的测试和会话才能继续

我尝试从BrowserStack的功能中打开日志记录,但没有返回错误,控制台日志为空。我也尝试过多种配置的iPhone

注意,这个示例测试可以很好地用于Android Google Pixel 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();
    }
}

我知道您正在真实的iOS设备上运行量角器测试。量角器使用execute\u async方法注入Java脚本。Appium不完全支持execute_async方法,因此您可能会看到失败。有关该问题的更多详细信息,请访问以下链接: