2016-08-20 2 views
0

Мне нужно сохранить некоторые куки-файлы из теста, чтобы проверить, я использую Nightwatch и Selenium, я не знаю, как их получить для текущей сессии o, где их хранить.Хранить куки между тестами nightwatch selenium

Я пытался создать и настроить учетную запись, но это не похоже на работу либо

"selenium" : { 
"start_process" : false, 
"server_path" : "", 
"log_path" : "", 
"host" : "127.0.0.1", 
"port" : 4444, 
"cli_args" : { 
    "webdriver.chrome.driver" : "", 
    "webdriver.ie.driver" : "", 
    "webdriver.firefox.profile" : "webdriver" 
} 
    }, 

Любая помощь apreciated. Спасибо

ответ

0

попытаться использовать функцию nightwatch обеспечивает набор файлов cookie для использования в одном или нескольких тестах.

http://nightwatchjs.org/api/setCookie.html

С уважением

+0

Сохраняется ли это печенье из теста, чтобы проверить? – reergymerej

0

По v0.9.14, setCookie не сохраняются куки между тестами. Похоже, клиент создается заново для каждого теста.

Что я сделал, это создать custom command, который устанавливает и кэширует значение cookie. Это хорошо работает для поддержания состояния проверки подлинности между тестами, поскольку пользовательские команды являются одиночными. Фактическая проверка подлинности происходит только один раз, затем последующие вызовы используют setCookie с кешированным значением сеанса.

Имейте в виду, что setCookie не будет работать, пока клиент не перейдет к соответствующему домену.

+0

Любопытно, как вы кешировали кеш? внутри ночных смотровых глобалов? – Hans

-1

Как мы можем установить файлы cookie в Nightwatch. Я был судим в Supertest, это работает. Как сделать в nightwatch.

Ниже приведен код для работы с Supertest

var args = { 

      data: { 
        email: "xxxx", 
        password: "xxxx" 
       }, 
       headers: { 
        "Content-Type": "application/json" 
       } 
      }; 
      service.post("localhost", args, function(data, response) { 
       global.Cookies = response.headers['set-cookie'].pop().split(';')[0] 
       this.meServiceUrl = superTest.agent("localhost/users").get(''); 
       // Set cookie to get saved user session 
       this.meServiceUrl.cookies = Cookies; 
       this.meServiceUrl.set('Accept', 'application/json') 
        .expect('Content-Type', /json/) 
        .expect(200) 
        .end(function(err, res) { 
         usersApiResponse = res.body 
         usersServiceResponse.push(usersApiResponse) 
        console.log(usersServiceResponse) 
         console.log(usersApiResponse.result.length) 
        }); 
      }); 
Смежные вопросы