Как установить localStorage в CodeceptJS/Nightmare?

Я пробую CodeceptJS с помощником Nightmare для сквозных тестов. Я хочу установить пункт в localStorage так что тест может пропустить страницу входа. Элемент localStorage будет выглядеть так:

{"auth",'{"isLoggedIn": true}'}

Пока что я попробовал пользовательский помощник:

'use strict'

class LocalStorageHelper extends Helper {

  setLogin() {
    this.helpers['Nightmare'].browser.evaluate(() => {

      // Code here is not executed

    }).then((result) => {

      // Code here is executed, but localStorage is undefined

    })
  }
}

module.exports = LocalStorageHelper

Как я могу получить ссылку на localStorage? Есть ли другой путь?

Это мое codecept.json:

{
  "tests": "tests/*.test.js",
  "timeout": 10000,
  "output": "./output",
  "helpers": {
    "Nightmare": {
      "url": "http://localhost:3000",
      "show": true
    },
    "LocalStorageHelper": {
      "require": "./helpers/local_storage_helper.js"
    }
  },
  "include": {
  },
  "bootstrap": false,
  "mocha": {},
  "name": "codeceptjs"
}

Это мой тестовый файл:

Feature('NavBar')

Before((I) => {
  I.setLogin()
  I.amOnPage('/')
})

Scenario('As an Admin, I should be redirected to dashboard', (I) => {
  I.seeInCurrentUrl('http://localhost:3000/dashboard')
})

0 ответов

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