我正在尝试用测试脚本中的条件编写一个nightwatch测试脚本。我的代码到目前为止
module.exports = {
tags: ['getting-started'],
set_url: function (browser) {
browser.url('http://www.google.com');
browser.pause(5000);
browser.assert.title('Google');
if (browser.expect.element('#main').to.be.present) {
browser.pause(5000);
browser.setValue('input[type=text]', ['Night Watcher', browser.Keys.ENTER]);
browser.pause(5000);
if(browser.assert.containsText('#main', 'The Night Watch')){
console.log('search has the right result'); // for example
}else{
console.log('No result found');
}
}
browser.end();
}
}
但browser.expect.element('#main').to.be.present
和browser.assert.containsText('#main', 'The Night Watch')
返回一个对象,实际上并不是我感兴趣的结果。
但是browser.expect.element('#main').to.be.present
和browser.assert.containsText('#main', 'The Night Watch')
会返回一个对象,实际上并不是我感兴趣的结果。
答案 0 :(得分:1)
我正在使用页面对象...如果你不使用页面对象,那么就说browser.elements。以下解决方案适合我
.waitForElementPresent('#main', 1000)
.api.elements('css selector','input[type=text]',function(result){
console.log("123");
if(result.value) {
console.log("======================================");
this.setValue('input[type=text]', ['Night Watcher', this.Keys.ENTER]);
}
})
.waitForElementPresent('#main', 1000, function(res) {
if(res.value) {
console.log('search has the right result');
}else{
console.log('No result found');
}
})
以下是我从代码中获得的输出..希望这可以帮助你..但代码可以更加优化。
答案 1 :(得分:0)
这是非常基本的:
module.exports = {
tags: ['getting-started'],
set_url: function(browser) {
browser.url('http://www.google.com')
.pause(5000)
.assert.title('Google')
.waitForElementPresent('#main', 3000, function(result) {
if (result.value === true) { // '#main is present
this
.setValue('input[type=text)', 'Night Watcher')
.click('#search') //instead of enter, you can click search button
.getText("#main", function(result) {
console.log(result.value);
// You can continue here
});
}
})
.end();
}
};