我不知道怎么写一个夜间表Appium测试。如果夜班已经通过浏览器对象,如何获取驱动程序对象?
这是我到目前为止所拥有的:
export default module.exports = {
'Displays error page`': (browser) =>
browser
// .url(`${browser.launchUrl}`)
.pause(10000)
.waitForElementVisible('.error-page .title')
.assert.containsText('.error-page .title', 'Oops! Wrong url.')
.end(),
};
我在SauceLabs上运行它,它在.waitForElementVisible('.error-page .title')
任何帮助都会非常感谢!
答案 0 :(得分:0)
尝试使用xpath:
export default module.exports = {
'Displays error page`': (browser) =>
browser
// .url(`${browser.launchUrl}`)
.useXpath()
.pause(10000)
.waitForElementVisible('.error-page .title') // switch to xpath()
.assert.containsText('.error-page .title', 'Oops! Wrong url.')
.end(),
};
Nightwatch具有良好的页面对象结构,我试着在最近2周内使用夜视和appium并且它不能很好地协同工作,尤其是多页移动应用程序。我认为你应该找到另一个与Appium一起工作的库,我也在寻找它
答案 1 :(得分:0)
我已经明白了。
export default module.exports = {
'Get ABC Title': browser =>
browser.contexts(function(context) {
browser.setContext(context['value'][1])
})
.waitForElementVisible('.event-cards')
.assert.containsText('.event-card h2.title', 'ABC')
.end(),
};
由于Cordova包装了DOM元素..我们需要一种方法来访问这些元素以便测试它们。
调用browser.contexts
会为您提供一个数组,即可用上下文的['NATIVE','WEBVIEW']。
现在,您只需设置浏览器对象browser.setContext(context['value'][1])
的上下文。