我在IE中使用selenium来自动化Web测试。我的网页填写表格,最后点击一个按钮。单击按钮的代码是
driver.FindElement(By.CssSelector("td.ne-fieldvalues > input[type=\"button\"]")).Click();
10次中的8次,点击但其他时间点击命令永远不会执行。 有没有办法可以检查按钮是否确实被点击了?与复选框类似的东西
if (!driver.FindElement(By.CssSelector("input[type=\"checkbox\"]")).Selected)
driver.FindElement(By.CssSelector("input[type=\"checkbox\"]")).Click();
我试过.Displayed和.Enabled,这两个属性都是真的。 谢谢你的帮助。
答案 0 :(得分:2)
要确保在单击链接或按钮时执行操作,最好验证生成的应用程序状态。例如。如果我在输入有效的用户名和密码后单击“登录”按钮,它将带我到我的主页,验证主页已加载,否则点击事件失败。如果用户名/密码无效,请在登录页面上验证警告消息。
总而言之,您必须验证响应以验证任何网络元素上的点击事件。
您可以做的最少的事情是确保使用ExpectedConditions.elementToBeClickable()
点击该元素:
// In Java WebDriverWait wait = new WebDriverWait(driver, timeOut); wait.until(ExpectedConditions.elementToBeClickable(locator));