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