我被要求记录一个长期运行的场景,其中涉及患者从注册到计费的整个生命周期的功能页面。我尝试了 Selenium IDE,但它很不稳定,给出了刚刚记录的重放错误。当我尝试 Selenium 2 时,我遇到了 DOM 和 XPATH 问题。我相信 Selenium 2 是用于单元测试的。可以扩展到 5 分钟场景记录和回放的开源替代方案是什么?我知道这是一个主观问题,之前可能已经问过,但选项可能已经改进。
4 回答
Selenium Web 驱动程序实际上可以工作。Xpath 问题可能是由于页面加载时间问题。在硒代码中包含隐式或显式等待。
甚至 Thread.sleep(milliseconds) 也会在一定程度上解决问题。
我们Selenium 2
每天都使用(由 groovy 脚本驱动,但这不是重点)运行涉及多网站连接 [甚至邮件确认验证] 的长时间运行场景。完成适当的错误处理后,它非常稳定。长场景成功的关键是“预期会失败”。就像在现实世界中一样,有时您必须在按钮上单击两次
您必须使用 WEBdriver 而不是 IDE 中的记录。您必须使用 Paje 对象模型来使项目稳定。看到这篇文章: https ://weblogs.java.net/blog/johnsmart/archive/2010/08/09/selenium-2web-driver-land-where-page-objects-are-king
如果您要使用长时间运行的场景,我实际上建议您使用 PageObject 切换到 Watir-webdriver。我们在 AJAX 应用程序中有非常长的场景,无法解决 Selenium 的问题。切换到 watir-webdriver 和 page-object gem 允许我们重用具有适当等待且没有失败的页面。