2016-08-02 2 views
0

Я создаю скрипт, используя , шаги моих сценариев являются необходимыми предметами или услуг:Как сделать что-то в зависимости от состояния в Кошмаре?

  1. Откройте страницу

  2. Проверка регистрируется с куки

  3. Логин не вошедший

  4. Выполнение всех остальных задач

Что-то вроде этого кода:

nightmare 
    .goto(url) 
    .cookies.get('cookie_key') 
    .then(cookie => { 

    }) 
    ; 

Как я могу сделать, чтобы кошмар входа, если не зарегистрирован, перед тем выполнить остальные необходимые задачи?

+1

Не можете ли вы просто положить оператор 'if' в свой' then() '? – 4castle

ответ

1

@ 4castle: вы можете разместить свой блок if непосредственно в своем .then(). Например:

nightmare 
    .goto(url) 
    .cookies.get('cookie_key') 
    .then(cookie => { 
    if(cookie){ 
     //perform your login action 
     return nightmare 
     .type('#username', username) 
     .type('#password', password) 
    } else { 
     //if you need to perform other logic 
     //if you're already logged in, do it here 
     //otherwise, this `else` can be omitted 
    } 
    }) 
    .then(()=>{ 
    return nightmare 
     .action() 
     .action() 
     //etc. 
    }) 

Для дальнейшего чтения, вы можете захотеть взглянуть на Running Multiple Steps в nightmare-examples.

Смежные вопросы