在我们的QA团队中,我们针对开发人员所做的每项提交都运行一套自动化测试。由于每天有很多这样的提交,并且没有开发人员想要等待超过几分钟才能获得反馈,所以我们仅限于5分钟的测试。在这5分钟内,我们想要运行尽可能多的测试。测试网站的最佳实践
我们发现硒测试对我们的需求是最好的:主要是因为它们是可靠的。如果硒测试报告JS错误,你95%确定这是一个真正的错误。 (这是我们从使用HTMLUnit的经验中学到的一个非常重要的属性)。然而,运行硒测试是缓慢和沉重的。 (我们维护一个小CPU场,以便我们可以异步运行许多硒服务器和许多脚本)。
最近我们提出了一种新的方法 - 只在你真正需要的地方使用硒:弹出窗口,ajax,一般的JS ..在其他地方使用“文本浏览器”。例如,如果要检查以下链接“作品”:
<a href='/somewhere'> link </a>
你并不真正需要的硒。你可以执行GET请求到页面,然后使用正则表达式/解析页面并使用xpath/..底线 - 你不需要JS引擎。显然这是一个更轻,更快的测试。
我们已经有很多成功使用这种方法,我们碰到了以下几个环节:
<a href='/somewhere-1' onclick="foo()" > link 1 </a>
<a href='/somewhere-2' onclick="foo()" > link 2 </a>
... many more such links ...
因此,在这种情况下,你真的没有来运行按下每一个环节硒脚本。只需点击其中一个使用硒(这样你就可以测试JS功能foo()
的功能),然后使用文本浏览器来验证其他链接的href
。
我的问题是你认为我们应该在哪里画线?我很乐意听到你的意见 - 有没有“文本浏览器”工具(我们没有与WebDriver合作)?