【发布时间】:2017-07-10 18:45:16
【问题描述】:
我刚开始使用 Selenium,并使用 Chrome 编写了一堆测试。然后我尝试使用 Firefox 运行相同的测试,但大多数都失败了。
我有一堆有点像这样的测试:
1. Find link
2. Click link
3. Confirm the title of the new page matches what I expect
这在 Chrome 中运行良好,但在 Firefox 中,第 3 步似乎在浏览器有时间加载页面之前立即执行。如果我增加几秒钟的等待时间,所有测试都会通过,但我宁愿避免这样做。
这是一个配置问题,还是有更好的方法来编写测试以帮助提高兼容性?
这些是在 Chrome 中有效但在 Firefox 中失败的测试的基础知识
link = driver.find_element_by_link_text(link_text)
link.click()
# Check if `driver.title` contains `title`
assert title in driver.title
在点击后插入time.sleep(2) 确实可以工作。
(我的身份验证测试遇到了同样的错误:填写表单,单击提交,确认用户被转发到正确的页面。在 Chrome 中,这通过了,在 Firefox 中,对登录页面进行了转发检查,因为浏览器仍未完成重定向到新页面。我收到测试失败的报告,一秒钟后浏览器呈现预期的页面。)
【问题讨论】:
标签: python selenium selenium-chromedriver selenium-firefoxdriver