链接元素变量以便在量角器中更好地定位
Chaining element variables for better location in protractor
在量角器中,我试图清理我的定位器,并更好地组织事情。目前,我有一个包含对话框元素定位器和保存按钮的变量:
var StoryPage = function(){
this.dialog = element(by.css('md-dialog'));
this.saveButton = element(by.buttonText('Save'));
}
我的问题是,有没有办法链接这些元素变量,这样我就可以在对话框中找到保存按钮,如下所示:
this.dialog.saveButton.click()
或
this.dropdown.saveButton.click()
提前致谢!
是的,您可以链接量角器中的元素查找器:
var StoryPage = function() {
this.dialog = element(by.css('md-dialog'));
this.saveButton = this.dialog.element(by.buttonText('Save'));
}
现在 Save
按钮将位于 within/in scope/inside md-dialog
元素。
如果你想"scale"到多个页面对象,你可以定义一个基页面对象:
var BasePage = function() {
this.getSaveButton = function () {
return this.dialog.element(by.buttonText('Save'));
}
}
module.exports = new BasePage();
然后,使用原型继承 从基础页面继承其他页面对象,这样您就可以在不同的对话框容器中拥有 save
个按钮:
var BasePage = require("base");
var StoryPage = function(){
this.dialog = element(by.css('md-dialog'));
}
StoryPage.prototype = Object.create(BasePage);
module.exports = new StoryPage();
在量角器中,我试图清理我的定位器,并更好地组织事情。目前,我有一个包含对话框元素定位器和保存按钮的变量:
var StoryPage = function(){
this.dialog = element(by.css('md-dialog'));
this.saveButton = element(by.buttonText('Save'));
}
我的问题是,有没有办法链接这些元素变量,这样我就可以在对话框中找到保存按钮,如下所示:
this.dialog.saveButton.click()
或
this.dropdown.saveButton.click()
提前致谢!
是的,您可以链接量角器中的元素查找器:
var StoryPage = function() {
this.dialog = element(by.css('md-dialog'));
this.saveButton = this.dialog.element(by.buttonText('Save'));
}
现在 Save
按钮将位于 within/in scope/inside md-dialog
元素。
如果你想"scale"到多个页面对象,你可以定义一个基页面对象:
var BasePage = function() {
this.getSaveButton = function () {
return this.dialog.element(by.buttonText('Save'));
}
}
module.exports = new BasePage();
然后,使用原型继承 从基础页面继承其他页面对象,这样您就可以在不同的对话框容器中拥有 save
个按钮:
var BasePage = require("base");
var StoryPage = function(){
this.dialog = element(by.css('md-dialog'));
}
StoryPage.prototype = Object.create(BasePage);
module.exports = new StoryPage();