我们在几个JS文件中为我们的AngularJS应用程序进行了一些量角器端到端测试,它们工作得很好。但是,在整个测试中有很多重复的代码,我们希望对此进行干燥。
例如,每次登录时,我们都必须单击文本元素,键入用户名和密码,然后单击Enter。现在,每个单个JS文件都有其自己的登录功能副本,该副本在每次测试之前都会被调用。
最好将它们重构到我们可以导入的模块中。我已经搜索了几个小时,但是找不到一个好的解决方案。
我们应该怎么做?
您可以创建nodejs模块并将其包含在量角器配置中
login-helpers.js
exports.loginToPage = function () { //nodejs code to login };
protractor.conf.js
exports.config = { //... onPrepare: function () { protractor.loginHelpers = require('./helpers/login-helpers.js'); } //... };
page.spec.js
it('should do smth', () => { protractor.loginHelpers.loginToPage() //expect(...).toBe(...); });