Можно ли создать функцию внутри `conf.js`? - PullRequest
0 голосов
/ 22 ноября 2018

Можно ли создать функцию, которая будет использоваться для каждой спецификации для тестирования, например, функция входа в файл conf.js или напрямую sendKeys с conf.js с spec.js

1 Ответ

0 голосов
/ 23 ноября 2018

С помощью синтаксиса 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')
   });

});

Но это не очень хорошая практика.Потому что основной тестовый фреймворк помогает что-то делать перед каждым тестомЧто касается жасмина, то он поставляет 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);
  });
});

Наконец, я не вижу выгоды / преимущества, чтобы сделать, как вам требуется.

...