所以基本上我已经开始使用PageObjects而且我遇到了一些问题。
我想直接在某个部分执行命令。例如 - 我想直接在部分.waitForElementVisible
(不在元素上)。它甚至可能吗?我尝试了很多组合,例如:
browser.page.topMenu()。section.loginBox.section.unauthenticated.waitForElementVisible(' @ loginTooltip',10000)
所以看起来像这样:topMenu()
是我的pageObject文件,然后有loginBox
部分包含 - > unauthenticated
部分包含 - > loginTooltip
部分。我想在最后一节中.waitForElementVisible
。这该怎么做?我知道我可以无限制地组合我的部分,但是以后如何处理它们?
browser.page.topMenu().expect.section('@loginBox').to.be.visible
- 这很有效 - 因为它只有一个部分
browser.page.topMenu().expect.section('@loginBox').section('@unauthenticated').to.be.visible
- 不起作用 - 我想检查unauthenticated
部分内的部分loginBox
是否可见。怎么做?
提前感谢所有答案,我试图自己解决这个问题而没有任何成功。
答案 0 :(得分:1)
好的,首先让我们将其分解,以便更具可读性:
var topMenu = browser.page.topMenu(); // Declare the page object.
var loginBox = topMenu.section.loginBox; // Declare the first section.
var unauthenticated = loginBox.section.unauthenticated // Declare the second section.
依旧......
一旦你想执行命令,你可以这样做:
loginBox.waitForElementVisible('@unauthenticated');
请注意,应声明节选择器:
sections: {
unauthenticated: {
selector: '.unauthenticated_title',
elements: {
sectionElements: '.selector_selector'
}
},
anotherSection: {
...
}
}
第二个问题是类似的。
loginBox.expect.element('@ unauthenticated').to.be.visible;