Тест не выполняется, там свои коллбэки надо правильно расставить, но это уже не связано с импортом, и то ладно.
Все процессы должны происходить в браузере - это особенность селениум-вебдрайвера (кроме api под PhantomJS).
Вот писала выше: С переменной driver - это часть, скажем, конфигурации, которая может меняться, поэтому её в будущем тоже собираюсь выносить за пределы.
Для пробы, вынесла. Теперь тест якобы проходит, но на самом деле ни открывается ни браузер, ничего не делается:
Проверка поля Email формы регистрации.
√ Ввод уже зарегистрированного Email
describe('Проверка поля Email формы регистрации.', function(){
before(function(){
var loadRegistrationForm = require('./reusable_function').loadRegistrationForm;
var fillingRegistrationForm = require('./reusable_function').fillingRegistrationForm;
});
it('Ввод уже зарегистрированного Email', function(done){
var inputEmail = '123@ya.ru';
var inputPassword = '12345678Aa';
var errElement = "//*[@class='form-errors server-error']";
var errMessage = 'Email уже используется';
loadRegistrationForm(); //загружаем форму регистрации
fillingRegistrationForm(inputEmail, inputPassword, errElement, errMessage);
return done();
});
});
---
mocha выдает:
1) Проверка поля Email формы регистрации. Ввод уже зарегистрированного Email:
ReferenceError: loadRegistrationForm is not defined
at Context. (C:\Program Files\nodejs\test\test2_mocha.js:18:9)
at callFnAsync (C:\Users\Valentine11\AppData\Roaming\npm\node_modules\moch
a\lib\runnable.js:306:8)
at Test.Runnable.run (C:\Users\Valentine11\AppData\Roaming\npm\node_module
s\mocha\lib\runnable.js:261:7)
at Runner.runTest (C:\Users\Valentine11\AppData\Roaming\npm\node_modules\m
ocha\lib\runner.js:421:10)
at C:\Users\Valentine11\AppData\Roaming\npm\node_modules\mocha\lib\runner.
js:528:12
at next (C:\Users\Valentine11\AppData\Roaming\npm\node_modules\mocha\lib\r
unner.js:341:14)
at C:\Users\Valentine11\AppData\Roaming\npm\node_modules\mocha\lib\runner.
js:351:7
at next (C:\Users\Valentine11\AppData\Roaming\npm\node_modules\mocha\lib\r
unner.js:283:14)
at Immediate._onImmediate (C:\Users\Valentine11\AppData\Roaming\npm\node_m
odules\mocha\lib\runner.js:319:5)
С переменной driver - это часть, скажем, конфигурации, которая может меняться, поэтому её в будущем тоже собираюсь выносить за пределы. Поэтому не вариант.
Касаемо второго - да, можно внести там, но нам нужно реюзабельные блоки собрать отдельно, чтобы потом не рыскать по коду. Т.к. тестируются сайты на bootstrap и поэтому вполне возможна ситуация, что тесты для одного сайта сгодятся для другого, для проверок аналогичных форм.