【问题标题】:How can i use Selenium for long scenarios?我如何在长场景中使用 Selenium?
【发布时间】:2014-01-23 10:19:40
【问题描述】:
我被要求记录一个长期运行的场景,该场景涉及患者从注册到计费的整个生命周期的功能页面。我尝试了 Selenium IDE,但它很不稳定,给出了刚刚记录的重放错误。当我尝试 Selenium 2 时,我遇到了 DOM 和 XPATH 问题。我相信 Selenium 2 是用于单元测试的。可以扩展到 5 分钟场景记录和回放的开源替代方案是什么?我知道这是一个主观问题,之前可能已经问过,但选项可能已经改进。
【问题讨论】:
标签:
selenium-webdriver
cucumber
bdd
acceptance-testing
scenarios
【解决方案1】:
我们每天使用Selenium 2(由 groovy 脚本驱动,但这不是重点)运行涉及多网站连接 [甚至邮件确认验证] 的长时间运行场景。正确处理错误后,它非常稳定。长场景成功的关键是“预期会失败”。就像在现实世界中一样,当您有时必须在按钮上单击两次
【解决方案3】:
Selenium Web 驱动程序实际上可以工作。 Xpath 问题可能是由于页面加载时间问题。
在你的 selenium 代码中包含隐式或显式等待。
即使是 Thread.sleep(milliseconds) 也会在一定程度上解决问题。
【解决方案4】:
如果您要使用长时间运行的场景,我实际上建议您使用 PageObject 切换到 Watir-webdriver。我们在 AJAX 应用程序中有非常长的场景,无法解决 Selenium 的问题。切换到 watir-webdriver 和 page-object gem 使我们能够重用具有适当等待且没有失败的页面。