51Testing软件测试论坛

标题: Appium+selenium+python+eclipse+pydev自动化框架搭建[二查找H5元素] [打印本页]

作者: ningzi0315    时间: 2018-5-9 11:40
标题: Appium+selenium+python+eclipse+pydev自动化框架搭建[二查找H5元素]
参考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 列表

[attach]115263[/attach]
chrome浏览器中输入:chrome://inspect/#devices,就能看到手机上app中的webview了,点inspect,进入到下图中,如果没有时入下图,是一片空白,原因是chrome需要翻墙。当然翻墙有难度,这里我提供一个本地chrome包,己放在svn里面,根据readme操作就可以了svnf 地址:http://10.101.95.10/JST/05-测试/05-资料库/chrome-inspect离线开发者工具包

在上面的Developer里就可以找到h5对应的元素并操作。
[attach]115264[/attach]
在搭建环境与写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,相反就是原生


作者: Jsoner    时间: 2018-5-10 13:51
大...大佬,跟着大佬持续学习中




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2