我对Selenium / WebDriver测试没有任何经验。我知道Play支持Selenium开箱即用,但坦率地说,内置支持似乎不符合我的期望:
我尝试自己扩展UnitTest并使用SauceLabs。这似乎运作良好,但我遇到了试图在多个浏览器上运行相同测试的障碍。我尝试使用jUnit's Parametrized Tests,但是效果不好(我的测试类中包含太多构造函数的错误)。
是否有在Play中编写系统/ Selenium测试的最佳实践:
答案 0 :(得分:3)
我确实开发了这个游戏!模块,我认为也可能适合你:
https://github.com/miguelrgonzalez/Play--Selenium-webdrive
它仍然处于一个非常早期的阶段,但它已经在运作。
随意分叉!
答案 1 :(得分:0)
这当然是可能的。但是,如果不使用Selenium / WebDriver Grid,很难有效地实现这一目标。默认情况下,许多浏览器只允许在系统上安装自己的一个版本。虽然您可以控制要启动的浏览器,但您无法控制哪个版本(或者您只能使用当前安装的版本)。
使用网格,您可以通过以下步骤利用现有基础架构:
有关网格的更多信息,请参阅here。虽然这些信息与Play框架没有特别的关系,但希望它会有所帮助。
答案 2 :(得分:0)
为了使用Play运行Selenium 2 / WebDriver测试,您无需执行任何特殊操作!框架。
只需编写RemoteWebDriver测试并从play.test.UnitTest扩展它们。然后,这些测试将由Play执行! TestRunner,显然,结果将保存在Play中!标准方式。