javascript - 是否可以在 `conf.js` 内创建函数?

标签 javascript testing protractor automated-tests

是否可以创建用于每个规范进行测试的函数,例如 conf.js 文件内的登录函数或直接从 conf 中的 sendKeys .js 来自 spec.js

最佳答案

从nodejs语法来看,它支持如下操作:

// conf.js
exports.config = {
   // put config at here as usual
};

exports.login = function(username, password) {

  browser.get('');
  element.sendKeys('');
};

// spec.js

var login = require('./conf.js').login;
// actually, you can move the login function to another .js file to keep
// conf.js more dedicated on configuration purpose.

describe("A spec (with setup and tear-down)", function() {

   it('', function(){
       login('username', 'password')
   });

});

但这不是一个好的做法。因为主测试框架支持在每个测试用例之前做一些事情。对于 jasmine,它提供 beforeEach:

describe("A spec (with setup and tear-down)", function() {
  var foo;

  beforeEach(function() {
    foo = 0;
    foo += 1;
  });

  afterEach(function() {
    foo = 0;
  });

  it("is just a function, so it can contain any code", function() {
    expect(foo).toEqual(1);
  });

  it("can have more than one expectation", function() {
    expect(foo).toEqual(1);
    expect(true).toEqual(true);
  });
});

最后,我看不到按照您的要求进行操作有什么好处。

关于javascript - 是否可以在 `conf.js` 内创建函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53425440/

相关文章:

javascript - 移动响应式下拉导航栏适用于小宽度浏览器,但不适用于我的手机

javascript - 如何恢复 Angular 1 Ng 模型的变化

angular - TestBed.get 和 new Service(...dependencies) 有什么区别

javascript - 无法使用 Protractor 获取输入中的值

javascript - Protractor ,我什么时候应该在点击后使用 then()

javascript - Protractor - 正确处理错误......

javascript - 合并、缩小和替换对 JS 和 CSS 文件的引用

javascript - 为什么将数组添加到数字返回一个字符串?

c++ - 在测试中使用友元

android - 我们可以在安卓模拟器上测试shake应用吗?