在我们的 QA 团队中,我们对开发人员所做的每一次提交都运行一套自动化测试。由于每天都有相当多的此类提交,并且没有开发人员愿意等待超过几分钟才能获得反馈,因此我们仅限于 5 分钟的测试。在这 5 分钟内,我们希望运行尽可能多的测试。
我们发现硒测试最适合我们的需求:主要是因为它们可靠。如果一个 selenium 测试报告一个 JS 错误,你 95% 的把握这是一个真正的错误。(这是我们从使用 HTMLUnit 的经验中学到的极其重要的属性)。然而,运行 selenium 测试又慢又重。(我们维护一个小型 cpu 场,因此我们可以异步运行许多 selenium 服务器和许多脚本)。
最近我们提出了一种新方法 - 仅在您真正需要它的地方使用 selenium:弹出窗口、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 ...
因此,在这种情况下,您实际上不必运行按下每个链接的 selenium 脚本。只需使用 selenium 单击其中一个(以便您测试 JS 函数的功能foo()
),然后使用文本浏览器验证href
其他链接的 s。
我的问题是你认为我们应该在哪里划清界限?我很高兴听到您的意见 - 那里有“文本浏览器”工具(我们还没有使用 WebDriver)?