nightwatch.js page_objects 中的多个级别的部分
Multiple level of sections in page_objects in nightwatch.js
我刚开始使用 nightwatch.js ,我正在使用 page_objects 来访问我的测试中的元素。所以我想知道我们是否可以在页面对象的部分中有部分?我知道我们可以指定一个级别的部分。我所做的是这样的:
module.exports = {
url : 'http://127.0.0.1:8111/local.html#open?view=shelf&lang=en_US',
sections : {
topContainer : {
selector : '.top_container',
elements : {
logo : {
selector : '.logo'
},
settingsButton : {
selector :'.dropdown'
},
searchBox : {
selector : '.search_box'
},
sortOrderButton : {
selector : '.icond'
}
}
},
library : {
selector : '.library',
bookList : {
selector : 'ul.library_container'
}
}
}
};
我们能否在部分中包含部分,如果不能,我们如何 select 在测试用例中使用 @variable
client.elements('css selector','@top_container ul.dropdown-menu li', function (result) {
if ( result.value.length == 3 ) {
this.verify.ok(result.value.length, '3 languages loaded');
}
});
谢谢!
"Working With Page Objects" 的 nightwatch.js 文档指定
Note that every command and assertion on a section (other than expect assertions) returns that section for chaining. If desired, you can nest sections under other sections for complex DOM structures.
所以,我尝试使用 by hit 并尝试制作正确的 json 结构,现在效果很好:)
page_object
中的示例代码
sections : {
book_view : {
selector : '.read_book_view',
sections : {
top_container : {
selector : '.top_container',
elements : {
lib_view : {
selector : '.lib_view'
},
toc_link : {
selector : '.dropdown .dropdown-toggle'
},
toc_index : {
selector : '.dropdown .index-dropdown'
},
notes_and_hightlights : {
selector : '.page_access'
},
settings : {
selector : '#settings_b'
},
search : {
selector : '.search_trigger'
},
zoom : {
selector : '.zoom_iconsset'
}
}
}
}
}
}
并在测试用例中引用它们,像这样
var bookSection = bookView.section.book_view;
// Top container
var topSection = bookSection.section.top_container;
topSection.expect.element('@lib_view').to.be.present;
谢谢!
我刚开始使用 nightwatch.js ,我正在使用 page_objects 来访问我的测试中的元素。所以我想知道我们是否可以在页面对象的部分中有部分?我知道我们可以指定一个级别的部分。我所做的是这样的:
module.exports = {
url : 'http://127.0.0.1:8111/local.html#open?view=shelf&lang=en_US',
sections : {
topContainer : {
selector : '.top_container',
elements : {
logo : {
selector : '.logo'
},
settingsButton : {
selector :'.dropdown'
},
searchBox : {
selector : '.search_box'
},
sortOrderButton : {
selector : '.icond'
}
}
},
library : {
selector : '.library',
bookList : {
selector : 'ul.library_container'
}
}
}
};
我们能否在部分中包含部分,如果不能,我们如何 select 在测试用例中使用 @variable
client.elements('css selector','@top_container ul.dropdown-menu li', function (result) {
if ( result.value.length == 3 ) {
this.verify.ok(result.value.length, '3 languages loaded');
}
});
谢谢!
"Working With Page Objects" 的 nightwatch.js 文档指定
Note that every command and assertion on a section (other than expect assertions) returns that section for chaining. If desired, you can nest sections under other sections for complex DOM structures.
所以,我尝试使用 by hit 并尝试制作正确的 json 结构,现在效果很好:)
page_object
中的示例代码sections : {
book_view : {
selector : '.read_book_view',
sections : {
top_container : {
selector : '.top_container',
elements : {
lib_view : {
selector : '.lib_view'
},
toc_link : {
selector : '.dropdown .dropdown-toggle'
},
toc_index : {
selector : '.dropdown .index-dropdown'
},
notes_and_hightlights : {
selector : '.page_access'
},
settings : {
selector : '#settings_b'
},
search : {
selector : '.search_trigger'
},
zoom : {
selector : '.zoom_iconsset'
}
}
}
}
}
}
并在测试用例中引用它们,像这样
var bookSection = bookView.section.book_view;
// Top container
var topSection = bookSection.section.top_container;
topSection.expect.element('@lib_view').to.be.present;
谢谢!