我要运行多个测试,并且所有测试都共享一定数量 x 的初始操作(比如登录,填写表单字段,点击按钮等),然后他们发散< /强>
是否可以让浏览器执行一次的第一个 x 操作,保存当前状态,然后单独执行所有测试(如果可能,并行执行),每个人都有一个单独的浏览器实例?
由于
答案 0 :(得分:1)
你 应该尽量避免在测试中重复工作。但是,必须首先要保持一致性,可维护性可能同样重要。
这意味着以真实用户不会的方式使用浏览器(我认为您的状态保存想法很重要)对于一致性来说风险很大,并且可能无法提供给您你需要的有意义的结果。
另一种替代方案 - 试图在一个用户会话中覆盖多个场景的“单片”测试 - 也存在问题,因为它运行速度较慢,编写和调试速度较慢。
老实说,我认为“浏览器状态”的概念不适合真正的网络。
我的建议是运行专门的,自包含的,干净的测试 - 即使他们复制了登录/注册表单等内容。但是,如果最小化测试运行的长度很重要,请尝试并行运行它们:理想情况下在多个VM上运行,或通过Selenium Grid运行。