2017-08-22 7 views
0
要素が、私はこのような何かをしようとしている を提示されていないが、それは

更新ページ要素は、キュウリ、ナイトウォッチ(セレンウェブドライバ)を提示されていない状態

When(/^"([^"]*)" task status changed$/, taskName => { 
    let needRefresh = true; 

    do { 
     client.url(`${client.globals.env.url}${client.globals.env.index}/messaging/messages`) 
      .pause(10000) 
      .getTagName(`//div[contains(@class, "task-checkbox")]//*[contains(text(), "${taskName}")]`, res => { 
       client.equal(res.value, 'div') 
     }).pause(20000); 

    } while (!needRefresh) 

}); 
を助けていませんが、私はページを更新する必要があります

正しく行う方法は?

答えて

0

複雑な非同期操作を使用できるようにするには、新しいasync関数を使用することをお勧めします。 NodeJsのバージョンでネイティブにサポートされていない場合は、Babelを使用することをお勧めします。 nightwatch-cucumberexample folderの例があります。何らかの条件までページをリフレッシュできるようにするには、次の例を使用します。

When(/^"([^"]*)" task status changed$/, async (taskName) => { 
    let needRefresh = true; 

    do { 
    await client.refresh(); 
    await client.pause(10000); 

    needRefresh = await client.getTagName(... 
    } while (!needRefresh) 
});  
関連する問題