Огурец 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);
    });
});

Это работает нормально. Теперь, чтобы проверить другие страницы, я должен снова войти в систему. Это будет громоздко. Есть ли лучший способ решить эту проблему?

Я новичок в огурец и селен.

0 ответов

Другие вопросы по тегам