NightWatch JS 测试脚本中的条件测试
Conditional testing withing a NightWatchJS test script
我正在尝试编写一个在测试脚本中包含条件的守夜人测试脚本。到目前为止我的代码
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')
returns 是一个对象,实际上并不是我感兴趣的结果。
但是 browser.expect.element('#main').to.be.present
和 browser.assert.containsText('#main', 'The Night Watch')
returns 是一个对象,实际上并不是我感兴趣的结果。
我正在使用 objects 页...如果您不使用 objects 页,请直接说 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');
}
})
以下是我从代码中得到的输出。希望这对你有帮助。不过代码可以更优化。
标题
这是非常基础的:
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();
}
};
我正在尝试编写一个在测试脚本中包含条件的守夜人测试脚本。到目前为止我的代码
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')
returns 是一个对象,实际上并不是我感兴趣的结果。
但是 browser.expect.element('#main').to.be.present
和 browser.assert.containsText('#main', 'The Night Watch')
returns 是一个对象,实际上并不是我感兴趣的结果。
我正在使用 objects 页...如果您不使用 objects 页,请直接说 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');
}
})
以下是我从代码中得到的输出。希望这对你有帮助。不过代码可以更优化。
标题
这是非常基础的:
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();
}
};