欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

appium 安卓自动化测试内嵌H5页面问题解决

程序员文章站 2022-07-12 22:12:33
...
 webview 需要找安卓开发人员开启,true

1、打开手机App中的webview界面(H5页面)

2、打开Chrome浏览器,地址栏输入chrome://inspect,这里可以看出你的webview版本为

appium 安卓自动化测试内嵌H5页面问题解决

3、打开以下网址,可以下载对应版本的chromedriver
https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/web/chromedriver.md#chromedriverchrome-compatibility

appium 安卓自动化测试内嵌H5页面问题解决

4、驱动下载的到本地后,解压

5、打开Appium Desktop,将chromedriver路径放到Advanced-Chromedriver Binary Path中,启动Appium

appium 安卓自动化测试内嵌H5页面问题解决

desired_caps = {}
desired_caps['platformName'] = 'Android'  # 系统名称
# 模拟器
desired_caps['platformVersion'] = '7.1.2'  # 系统版本 手机--》设置--》关于手机--》查看Android版本
desired_caps['deviceName'] = '127.0.0.1:21503'  # 设备名称手机--》设置--》关于手机--》查看设备名称
# 真机
# desired_caps['deviceName']='HUAWEI Mate30'
# desired_caps['platformVersion']='10'
desired_caps['udid'] = '127.0.0.1:21503'  # 存在多个设备需要填写设备号:adb devices
desired_caps['exported'] = True
# desired_caps['app']=r'D:\cn.aura.feimayun_1.5_liqucn.com.apk' #安装APP
desired_caps['appPackage'] = 'com.nikoyo.monitor'
desired_caps['appActivity'] = 'com.nikoyo.monitor.view.splash.SplashActivity'
desired_caps['noReset'] = True
driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
driver.implicitly_wait(5)
driver.find_element_by_id('com.nikoyo.monitor:id/et_login_phone').send_keys('13718642521')
driver.find_element_by_id('com.nikoyo.monitor:id/et_login_password').send_keys('nikoyose')
driver.find_element_by_id('com.nikoyo.monitor:id/btn_login').click()
driver.find_element_by_id('com.nikoyo.monitor:id/iv_tab_mine').click()
driver.find_element_by_xpath('/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget'
                             '.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget'
                             '.RelativeLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget'
                             '.LinearLayout/android.widget.RelativeLayout[1]/android.widget.TextView').click()

WebDriverWait(driver, 8).until(lambda x: x.find_element_by_class_name('android.view.View'))
contests = driver.contexts
print(contests)  # 打印出context的值,用于切换H5定位方法使用,也就是driver.switch_to.context('WEBVIEW_com.wondershare.drfone')括号内的内容
driver.switch_to.context('WEBVIEW_com.nikoyo.monitor')  # 切换到h5定位方法,实际就是selenium的定位方法
driver.find_element_by_xpath('//*[@id="app"]/section/div/div/div[2]/div[1]/div[1]/p').click()

appium 安卓自动化测试内嵌H5页面问题解决

appium 安卓自动化测试内嵌H5页面问题解决

 

相关标签: appium