【发布时间】:2014-09-04 08:31:28
【问题描述】:
我已经为我的应用程序创建了测试。一切正常,但运行缓慢,即使只测试了 1/3 的应用程序,protrator 仍然需要大约十分钟来创建测试数据、填写字段、单击提交按钮等。
我正在使用 Google Crome 进行测试。当我看着量角器一一填写字段时,它似乎很慢。
这是我的测试套件的一个示例:
suites: {
login: ['Login/test.js'],
homePage: ['Home/test.js'],
adminPage: ['Admin/Home/test.js'],
adminObjective: ['Admin/Objective/test.js'],
adminObjDetail: ['Admin/ObjectiveDetail/test.js'],
adminTopic: ['Admin/Topic/test.js'],
adminTest: ['Admin/Test/test.js'],
adminUser: ['Admin/User/test.js'],
adminRole: ['Admin/Role/test.js']
},
这是一个测试组:
login: ['Login/test.js'],
homePage: ['Home/test.js'],
adminUser: ['Admin/User/test.js'],
adminRole: ['Admin/Role/test.js']
这是另一个测试组:
adminPage: ['Admin/Home/test.js'],
adminObjective: ['Admin/Objective/test.js'],
adminObjDetail: ['Admin/ObjectiveDetail/test.js'],
adminTopic: ['Admin/Topic/test.js'],
adminTest: ['Admin/Test/test.js'],
两组可以独立运行,但必须按照我上面的顺序运行。在我确实阅读了有关共享的答案之后,但我不确定这是否有助于我的情况,因为我的测试需要按顺序运行。理想情况下,我希望在一个浏览器中运行一组测试,而在另一个浏览器中运行另一组测试。
我读到了 PhantomJS 等无头浏览器。有没有人有这些更快的经验? 任何关于我如何做到这一点的建议将不胜感激。
【问题讨论】:
-
在标记问题并建议结束时,请礼貌地解释原因。希望作为提出这些建议的人,您是量角器方面的专家。
-
我建议分片。当我赶时间时,我会同时启动 10 个浏览器。确保您的套件是独立的(它们的运行顺序无关紧要)。
-
嗨 Samantha,我以前用过 phantomJS,但我只考虑将它用于快速烟雾测试,归根结底,它不能代表用户交互,但它会大大加快您的测试速度。谨慎使用。除了上面提到的之外,如果不查看您的测试代码,将很难进一步帮助您。您的代码是否在 github 上的公共仓库或其他任何地方可用?例如,您可以通过在每次测试后不关闭浏览器等来节省时间......
-
量角器测试基于承诺。所以总会有分辨率的滞后。考虑跨不同浏览器并行运行测试。此外(糟糕)手动运行测试单独获得更好的结果
标签: angularjs protractor