我的Android应用程序要求三个运行时权限。为了在测试期间允许权限,我在Node JS中使用Wd-Android来执行单击。
var wdAndroid = new WdAndroid(wd);
driver = wdAndroid.promiseChainRemote(appiumServer);
driver.elementById('com.android.packageinstaller:id/permission_allow_button').click();
driver.elementById('com.android.packageinstaller:id/permission_allow_button').waitForLinearLayout().click();
driver.elementById('com.android.packageinstaller:id/permission_allow_button').waitForLinearLayout().click();
当出现权限警告对话框时,第一次单击工作正常,但其余两次单击无法正常工作。我的假设是对话框需要时间来切换其视图并要求第二次和第三次许可。
是否有办法进行回调或等待直到强制等待流程的功能,直到对话框更改上下文以获得下一个权限。
答案 0 :(得分:0)
你可以尝试将你的应用程序发送到后台0秒,让你的应用重新聚焦
试试这个:
driver.elementById('com.android.packageinstaller:id/permission_allow_button').click();
driver.runAppInBackground(0)
driver.elementById('com.android.packageinstaller:id/permission_allow_button').click();
driver.runAppInBackground(0)
driver.elementById('com.android.packageinstaller:id/permission_allow_button').click();
driver.runAppInBackground(0)
我也遇到了对话框的问题...当我接受或取消它们时,我必须这样做才能再次使用我的驱动程序并继续我的测试...... 希望它有所帮助