我创建了一个自动化测试,将用户登录到站点并执行某些操作。测试首先在 Firefox、Chrome 和 IE 中运行。它在 Firefox 中完美运行,关闭浏览器,然后在 Chrome 中执行测试并再次关闭浏览器。当完全相同的测试在 IE 中打开 URL 时,它说它无法为登录过程找到元素“用户名”。
我有一个等待功能,我试图扩展它以防页面渲染出现问题,但这不起作用。使用开发工具并搜索元素时,它发现没有问题,所以我对它在测试中如何失败感到困惑。
有谁知道在 IE 中可能导致这种情况的原因是什么?
文本字段的 HTML 如下所示...
在 FF 和 Chrome 但不适用于 IE 的 Selenium 代码是:
私人结果_Test_Login(IWebDriver驱动程序){结果rt;
driver.Navigate().GoToUrl("MyURL");
driver.FindElement(By.Id("UserName")).Click();
TextboxOperation type = new TextboxOperation("UserName", driver, "Success", EnumSearchType.ById);
OperationExecutor.PerformOperations(type);
rt = new Results(driver.Url, driver.PageSource, "Existing Users");
return rt;
}
[TestMethod]
public void Test_Login()
{
List<IWebDriver> drivers = new List<IWebDriver>() { firefoxDriver, chromeDriver, ieDriver };
foreach (IWebDriver driver in drivers)
{
Results results = _Test_Login(driver);
if (results.Exception != null)
{
throw results.Exception;
}
Assert.IsFalse(results.ErrorState);
}
}