Огурец JS перед хуком
Я использую Cucumber & Selenium Webdriver для создания пакета FT.
Мое приложение использует github login, я создал следующую функцию для входа в систему:
var seleniumWebdriver = require('selenium-webdriver');
var {defineSupportCode} = require('cucumber');
defineSupportCode(function({Given, When, Then}) {
Given('I am on login page', function() {
return this.driver.get('https://localhost:8080/');
});
When('I click on {string}', function (text) {
return this.driver.findElement({linkText: text}).then(function(element) {
return element.click();
});
});
Then('I should be taken to github page and it should have {string}', function (id) {
var condition = seleniumWebdriver.until.elementLocated({id: id});
return this.driver.wait(condition, 20000);
});
When('I enter login details & click login', function () {
this.driver.findElement({id: 'login_field'}).sendKeys("username");
this.driver.findElement({id: 'password'}).sendKeys("password");
return this.driver.findElement(seleniumWebdriver.By.name("commit")).then(function(element) {
return element.click();
});
});
Then('I should be taken to portals Ranking page', function () {
var condition = seleniumWebdriver.until.elementLocated(seleniumWebdriver.By.css(".rank-table-container"));
return this.driver.wait(condition, 20000);
});
});
Это работает нормально. Теперь, чтобы проверить другие страницы, я должен снова войти в систему. Это будет громоздко. Есть ли лучший способ решить эту проблему?
Я новичок в огурец и селен.