我在IE selenium驱动程序中遇到过这种行为 - 我使用Selenium IDE
生成的TEST CASE代码 - 在Firefox
内工作正常。
driver.Navigate().GoToUrl(baseURL + "/RZR/1.5.85/ZobrazitReklamaceROB.aspx");
driver.FindElement(By.Id("ctl00_ContentPlaceHolderMain_identifikaceROB_rbAIFO")).Click();
driver.FindElement(By.Id("ctl00_ContentPlaceHolderMain_identifikaceROB_tbAIFO")).Clear();
driver.FindElement(By.Id("ctl00_ContentPlaceHolderMain_identifikaceROB_tbAIFO")).SendKeys("pqrJrJxtt/qUvjhO8=");
driver.FindElement(By.Id("ctl00_ContentPlaceHolderMain_identifikaceROB_btnVyhledat")).Click();
driver.FindElement(By.Id("ctl00_ContentPlaceHolderMain_identifikaceROB_btnVyhledat")).Click();
//Actions action = new Actions(driver);
//action.SendKeys(OpenQA.Selenium.Keys.Tab);
//action.SendKeys(OpenQA.Selenium.Keys.Tab);
//action.SendKeys(OpenQA.Selenium.Keys.Tab);
//action.SendKeys(OpenQA.Selenium.Keys.Tab);
//action.SendKeys(OpenQA.Selenium.Keys.Tab);
//action.SendKeys(OpenQA.Selenium.Keys.Tab);
//action.SendKeys(OpenQA.Selenium.Keys.Tab);
//action.SendKeys(OpenQA.Selenium.Keys.Tab);
//action.SendKeys(OpenQA.Selenium.Keys.Tab);
//action.SendKeys(OpenQA.Selenium.Keys.Enter);
driver.FindElement(By.Id("ctl00_ContentPlaceHolderMain_gvPrehled_ctl04_selectButton10168579135")).Click();
但是IEDriver
- 如果我在VS2013
NoSuchElementFindException
醇>
driver.FindElement(By.Id( “ctl00_ContentPlaceHolderMain_identifikaceROB_tbAIFO”))清除();
以防
NoSuchElementFindException
同事给了我建议,使用tab键导航到组件(在这种情况下为TB) - 到目前为止还没有成功,但尝试这种方式。
使用IE的最新更新,ZOOM 100%,根据硒网页进行注册表更改,所有区域的保护模式设置相同。
任何想法或相同的经历?
更新
初始化:
[SetUp]
public void SetupTest()
{
var options = new InternetExplorerOptions
{
IgnoreZoomLevel = true
};
driver = new InternetExplorerDriver(".", options);
baseURL = "http://vm-kzr-dev/";
verificationErrors = new StringBuilder();
}
答案 0 :(得分:1)
IE似乎速度较慢,如果测试是通过Firefox传递,那么IE渲染页面会慢一些,在这种情况下你可以使用
WebDriverWait wait = new WebDriverWait(driver, 10);
wait.until(ExpectedConditions.visibilityOfElementLocated(By.Id("ctl00_ContentPlaceHolderMain_gvPrehled_ctl04_selectButton10168579135")));
答案 1 :(得分:1)
这是一个问题。您需要禁用IE本机事件。
InternetExplorerOptions options = new InternetExplorerOptions();
options.EnableNativeEvents = false;
请参阅this了解原生事件与IEDriver的关系。
我还建议您删除多余的ignoreZoomLevel
并将其替换为EnableNativeEvents
var options = new InternetExplorerOptions
{
EnableNativeEvents = false
};