Я сделал то, что упоминается в этом SO-вопросе, чтобы включить файл в мой тест-протранс: How to reuse code in Protractor/AngularJS Testing. Проблема в том, что методы, вызванные внутри этого включенного кода, не влияют на окно браузера, которое я вижу.Как перейти от включенного файла в Protractor?
Я создал метод входа в отдельный файл и включил его, но когда я вызываю метод из моего теста транспортира, открытый браузер просто сидит там в течение нескольких секунд, а затем продолжает, как будто я ничего не звонил. Я могу проверить, что метод вызывается с помощью console.log. Ниже приведены мои файлы кода.
login.js, включенная функция Логин:
exports.login = function()
{
console.log("Login method called");
it('logs in', function() {
browser.get('http://my-url.com/login/');
// log in to continue with checkout
element(by.xpath('//*[@id="login-form"]/div[1]/input')).sendKeys("username");
element(by.xpath('//*[@id="login-form"]/div[2]/input')).sendKeys("password");
element(by.xpath('//*[@id="login-form"]/div[3]/button')).click();
// login functions on timeout
browser.driver.sleep(1000);
});
}
conf.js, файл конфигурации транспортир:
exports.config = {
seleniumAddress: 'http://localhost:4444/wd/hub',
specs: [/*'specs/overview.js',*/ 'specs/shopping-cart-state.js', 'specs/checkout-state.js', 'specs/buy-item.js'],
onPrepare: function() {
var SpecReporter = require('jasmine-spec-reporter');
// add jasmine spec reporter
jasmine.getEnv().addReporter(new SpecReporter({ displayStacktrace: 'all' }));
protractor.login = require('./login.js');
},
jasmineNodeOpts: {
print: function() { },
defaultTimeoutInterval: 5000000
}
};
spec.js, тест SPEC:
describe('Log in with an included function', function() {
it('logs in', function() {
protractor.login.login();
browser.driver.sleep(5000);
});
});
Даже если я передаю объект браузера в качестве параметра функции входа в систему, все равно ничего не происходит, и я не получаю сообщений об ошибках. Может ли кто-нибудь сказать мне, что я делаю неправильно?
Это сработало! Спасибо за быстрый ответ! – Ben