如何在长时间场景中使用Selenium?

时间:2014-01-23 10:19:41

标签: selenium-webdriver cucumber bdd acceptance-testing scenarios

我被要求记录一个长期运行的场景,其中涉及从注册到计费的患者生命周期的功能页面。我尝试过Selenium IDE但是它很脆弱,给出了它刚刚录制的重播错误。当我尝试Selenium 2时,我遇到了DOM和XPATH问题。硒2用于我相信的单元测试。什么是开源替代方案,可扩展到5分钟的场景记录和重播?我知道这是一个主观问题,可能以前曾经问过,但选项可能会有所改善。

4 个答案:

答案 0 :(得分:1)

我们每天使用Selenium 2(由groovy脚本驱动,但这不是重点)来运行涉及多网站连接的长期运行情景[甚至邮件确认验证]。完成正确的错误处理后,非常稳定。长期情景成功的关键是“期望失败”。就像在现实世界中一样,当你必须在按钮上点击两次

答案 1 :(得分:1)

您必须使用WEbdriver而不是IDE中的录制。 您必须使用Paje对象模型才能使项目稳定。 看到这篇文章: https://weblogs.java.net/blog/johnsmart/archive/2010/08/09/selenium-2web-driver-land-where-page-objects-are-king

答案 2 :(得分:1)

Selenium Web驱动程序实际上可以正常工作。 Xpath问题可能是由于页面加载时间问题。 在您的selenium代码中包含隐式或显式等待。

即使Thread.sleep(毫秒)也会在一定程度上解决问题。

答案 3 :(得分:0)

如果您要使用长时间运行的方案,我实际上建议可以使用PageObject切换到Watir-webdriver。我们在AJAX应用程序中有非常长的场景,并且无法解决Selenium的问题。切换到watir-webdriver和页面对象gem允许我们重用具有适当等待的页面,并且没有失败。