【发布时间】:2019-05-10 06:45:41
【问题描述】:
我正在使用webdriver.io 为混合Cordova 应用程序编写一套Appium 测试。
"appium": "^1.10.0",
"wdio-appium-service": "^0.2.3",
"wdio-jasmine-framework": "^0.3.8",
"webdriverio": "^4.14.1",
在我的一项测试中我正在尝试以编程方式接受 Location Permissions 本机模式,该模式在 WebView 顶部的应用启动时呈现。
我可以在 iOS 中使用 browser.alertAccept() 轻松做到这一点,但后者似乎不适用于 Android。
我也尝试切换到本机上下文以将其关闭,但没有成功。
function dismissLocationPermissions() {
if (browser.isAndroid) {
new WebView().switchToContext(0);
browser.pause(2000);
const ANDROID_ACCEPT_ALERT_SELECTOR = "//*[@class='android.widget.Button'][2]";
// OR '*//android.widget.Button[@text="ALLOW"]' ?
$(ANDROID_ACCEPT_ALERT_SELECTOR).click();
WebView().switchToContext(1);
} else {
browser.alertAccept();
}
}
如何使用 wdio 关闭 Android 上的本机警报?
【问题讨论】:
标签: android cordova appium hybrid-mobile-app webdriver-io