思寒大大 能抽空对 yaml 配置文件添加一些描述吗 看您的模板有些不明白 感谢!
切换 webview 和 toast 没冲突;
context.driver.switch_to.context('WEBVIEW_xxx.xxx.xxx') 能正常切换
新版 appium
time.sleep(5)
context.driver.switch_to.alert.accept()
'automationName': 'uiautomator2',
xapth 查找 :
find_toast(context, 10, '//*[@text="当前网络不可用,请检查您的网络设置"]', 0.5)
看看你手机的 Android Sysytem WebView 的版本是多少 再下载对应的 chromedriver
日志都没有咋分析,Appium 日志贴出来
1.desired_caps = {
'automationName': 'Uiautomator2', # 设置捕获 Android Toast 提示
'app': appLocation, # app 路径
'appPackage': appPackage, # app 包名
'deviceName': deviceName, # 设备名称
'udid': deviceId, # 设备唯一编号
'appActivity': launchActivity, # 应用启动 activity
'chromeOptions': {'androidProcess': appPackage},
'platformName': 'Android', # 应用平台名称
'platformVersion': deviceVersion, # 应用平台版本
'unicodeKeyboard': True, # 设置输入法能输入中文
'resetKeyboard': True,
'newCommandTimeout': 120, # Appium 超时时间设置
'noSign': True # 跳过检测和对应用进行 debug 签名的步骤,防止 app 签名被修改,导致更新不了应用
}里面加上'chromeOptions': {'androidProcess': appPackage},
2.查看你手机的 Android System WebView 的版本与你 Appium 里面的 chromedriver 的版本是否匹配 (/uploads/photo/2017/dd374f11-a8eb-4229-a24f-86cacc1d9dc7.png)
http://chromedriver.storage.googleapis.com/index.html
@seveniruby 老司机能提供一些指导吗,在这卡住好久了
切没切换成功 你把 context 打印出来看看不就 OK 了吗.怎么切换的就是 switch_to_context 啊 .......................
@friday 神级仙医在都市,看你 h5 页面显示的连接件,WEBVIEW 应该是'WEBVIEW_com.sina.book',你把代码里面 driver.contexts[-1] 获取的 WEBVIEW 打印出来呗,不行就直接 driver.contexts['WEBVIEW_com.sina.book']
@friday 看你的 appium 日志,有多个 H5 页面,根据你要找的元素在哪个 webview 然后切换到对应的 webview
@friday 把你的 Appium 关于这一段的日子发出来.
首先,打印的的 contexts,看看是否能获取到 WEBVIEW_com.xx.xx, 能获取得到则
driver.switch_to.context(context.driver.contexts[1]),切换失败,看看日志
@friday 如果已经切换 H5 页面成功,通过 name 查找元素的话,试试 find_element_by_link_text 方法
'automationName': 'Uiautomator2'
find_element_by_xpath('//*[@text="XXXX"]) XXX:toast 信息,亲测可用
@Cononico 这个问题解决了吗?最近也碰到了
Appium XCUITest 处理 alert: context.driver.switch_to.alert.accept()