参考python代码: # -*- coding: utf-8 -*- importos,time,unittest fromappium importwebdriver PATH = lambda ps.path.abspath(os.path.join(os.path.dirname(__file__),p)) desired_caps = { 'platformName': 'Android', 'deviceName': '85ELBNPP232T', 'platformVersion': '5.1', 'appPackage': 'com.jieshunpay.app', 'appActivity': 'com.jieshunpay.app.activity.common.LoadingActivity', 'app' :'E:\jhy-apk\jieshunpay_V1.0.32_test(build4).apk' } driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps) #进入登录页面 time.sleep(5) #点我的 CheckMy=driver.find_element_by_id("com.jieshunpay.app:id/rlayout_my") CheckMy.click() #点登录 Checklogin=driver.find_element_by_id("com.jieshunpay.app:id/rlayout_user_unlogin_state") Checklogin.click() time.sleep(5) driver.quit() H5元素的定位:Android WebView 调试方法
1.在APP中启用 WebView 调试,开启调试后,Chrome DevTools才能对WebView进行远程调试, 方法一:此步需要android开发同学协助; WebView.setWebContentsDebuggingEnabled(true); 方法二:测试机己有root权限,root工具网上很多,但需要注意有些手机不支持root ,这时可以在设置里设置自带的root权限打开或关闭。此步请根据手机型号自行百度 2、通过访问chrome://inspect/#devices访问已启用调试的 WebView 列表
在chrome浏览器中输入:chrome://inspect/#devices,就能看到手机上app中的webview了,点inspect,进入到下图中,如果没有时入下图,是一片空白,原因是chrome需要翻墙。当然翻墙有难度,这里我提供一个本地chrome包,己放在svn里面,根据readme操作就可以了svnf 地址:http://10.101.95.10/JST/05-测试/05-资料库/chrome-inspect离线开发者工具包
在上面的Developer里就可以找到h5对应的元素并操作。 在搭建环境与写python代码里可能会遇到的坑1、在操作h5元素时,点击事件没有响应时,用adb自带的命令去操作点击 示例如下: os.popen("adb shellinput tap " + str(567) + " " + str(941)) 2、在eclipse里上次运行还好好的,这次运行就直接没反应 解决办法:查看任务管理器里有多少个adb.ext服务,如比较多时全部杀掉,然后appium重启,adb devices 重新连接,再启动eclipse里的run就可以了 3、学会区别原生页面和h5页面,当用uiautomatorviewer.bat无法识别到元素就是h5,相反就是原生
|