2017-10-11 44 views
0

NightwatchJSで単純なif/elseを書く方法は?要素がある場合は、この要素をクリックし、別の要素をクリックします。Nightwatch - 要素が存在しない場合、別のアクションを実行します。

'Test2: click login button': function(client) { 

    client.expect.element('.login .btn').to.be.present; 
    client.click('.login .btn'); 


// if "client.expect.element('.login .btn') is not present(visible)" - 
//  but "client.expect.element('a.menu-link').to.be.present(visible)"; 
// client.click('a.menu-link'); 


    client.pause(1000); 
}); 

}、

答えて

1

あり、これを行うための複数の方法かもしれないが、私はWebdriver Protocolさん.element()機能を使用したい:

'Test2: click login button': client => { 
    const buttonSelector = '.login .btn'; 
    const menuLinkSelector = 'a.menu-link'; 
    client.element('css selector', buttonSelector, result => { 
    if (result.status > -1) { 
     // `.login .btn` is present 
     client.click(buttonSelector); 
    } else { 
     // else, check for `a.menu-link` 
     client.element('css selector', menuLinkSelector,() => { 
     client.click(menuLinkSelector); 
     }); 
    } 
    }); 
    client.end(); 
} 
関連する問題