Как создать новый экземпляр браузера с Nightwatch.js

1

Я пытаюсь проверить с помощью nightwatch, что, когда пользователь входит в систему, когда он уже входит в систему в другом браузере, он автоматически выводит вас из первого сеанса.

Но я не знаю, как создать новый экземпляр браузера.

Как выглядит мой код:

//Для разработки тестов Nightwatch см. ////nightwatchjs.org/guide#usage

module.exports = {

'Landing Page': function (browser) {
  // automatically uses dev Server port from /config.index.js
  // default: http://localhost:8080
  // see nightwatch.conf.js
    const devServer = browser.globals.devServerURL;

    browser
        .url(devServer)
        .waitForElementVisible('#app', 5000)
        .assert.urlContains('login')
        .assert.title('Customer Relation Manager')
        .assert.elementPresent('.login')
        .assert.containsText('.login-header', 'Log into CRM')
},

'A User not logged in will be redirected to login page': function (browser) {
    browser
        .url('http://localhost:8080/cust')
        .pause(1000)
        .assert.urlContains('login')
},

'A User can login': function (browser) {
    browser
        .setValue('input[type=text]', '********')
        .setValue('input[type=password]', '*******')
        .click('#submit')
        .pause(1000)
        .assert.urlContains('dashboard')
        .assert.containsText(".header-logo", "CRM V3")
},

'A User who is logged in cannot access the Login page again': function (browser) {
    browser
        .url('http://localhost:8080/login')
        .pause(1000)
        .assert.urlContains('dashboard')
        // .end();
},

'A user can refresh the page and redirect to the same page': function (browser) {
    browser
        .refresh()
        .pause(1000)
        .assert.urlContains('dashboard')
},

'A User can logout': function (browser) {
    browser
        .click('.header-user-info')
        .pause(1000)
        .assert.urlContains('login')
        .assert.containsText('.login-header', 'Log into CRM')
        .end();
  }

}

  • 0
    Посмотрите, поможет ли это stackoverflow.com/questions/27026363/… . Браузер создан для каждого нового теста, и поэтому ваш подход не работает
Теги:
testing
selenium
nightwatch.js

1 ответ

0

Добавьте в свои тесты крючок beforeEach и добавьте Deletecookies к нему. Поэтому для каждого теста будет запущен новый экземпляр браузера.

beforeEach: function (browser) {
    browser.maximizeWindow();
    browser.deleteCookies();
},

Ещё вопросы

Сообщество Overcoder
Наверх
Меню