Python + Appium 之 APP 自动化测试,坑点汇总(建议收藏)

一、环境搭建:环境变量不生效

1、第一步,在系统变量里添加变量名为:ANDROID_HOME,值为:D:\android-sdk(此处需修改为本地电脑 android-sdk 的所在路径)

2、第二步,在系统变量里,在已有的Path变量的值里后面添加:D:\android-sdk\build-tools\22.0.1

PS: 记得在前面加上英文分

3、第三步,重启电脑,切记,如果环境变量配置好了,还在报关于变量未添加的错误,记得一定要重启电脑,都说:重启解百病啊,这里算是见识到了

二、运行脚本:真机不断提示需要安装unlock,manager等插件且安装失败

1、在做手机自动化测试过程中,我们是完全没必要去安装这些插件的,想到的方法是跳过这些插件的安装,下面介绍下,我在遇到这种情况下的处理方式:

禁止手机每次启动需要安装unlock,manager等插件

在D:\Appium\node_modules\appium\lib\devices\android\android.js

注释4行代码,注释代码如下:
//this.initUnicode.bind(this)
//this.pushSettingsApp.bind(this)
//this.pushUnlock.bind(this)
//this.unlock.bind(this)

如下图所示:

2、再次运行脚本时,不会再提示需要安装这些插件了。

注意:如果修改上面的 android.js 文件后,保存了还是提示安装插件,这时应该重启appium服务器,然后重新运行脚本,避免修改的文件未及时生效。

三、运行脚本:报错Original error: Permission to start activity denied

解决方法如下:
在 doc 窗口中执行命令:aapt dump badging D:/Apk/app-v3.7.6_docker.apk(或者直接把 apk 拖进命令行)

使用这个命令获取 package 的值和 launchable-activity 的

运行后的结果中以下两行分别是应用包名 package 和入口 activity 名称

package: name=’com.xxx.android.xx’

launchable-activity: name=’com.xxx.android.xx.view.xxxrActivity’

注:在android sdk目录搜索可以找到aapt.exe,或者当doc窗口提示:aapt不是内部或外部命令时请参看以下解决方法。

四、解决在doc窗口执行aapt命令时,提示:不是内部或外部命令方法

D:\android-sdk\build-tools\22.0.1 将此添加到系统变量中的Path中,此目录下有 aapt.exe,Path添加完成后需要重启 doc 窗口,再执行 aapt 命令,就可以完整的获取到:package 和 launchable-activity 的值



五、对于手动启动 APP 时,没有引导页,脚本启动时有引导页时处理方法

先用脚本启动到引导页后,一直休眠然后用sdk中自带工具 uiautomatorviewer.bat 来定位引导页面获取元素


六、退出登录按钮元素不在当屏的处理方法:先滑动后再用坐标定位

代码如下:

x = self.driver.get_window_size()['width']
y = self.driver.get_window_size()['height']

self.driver.swipe(x / 2, y * 0.8, x / 2, y * 0.2, 200)
time.sleep(3)

os.popen("adb shell input tap " + str(659.0) + " " + str(1834.0))
self.driver.find_element_by_class_name("android.view.View").click()
os.popen("adb shell input tap " + str(945.0) + " " + str(1140.0))
self.driver.find_element_by_id("com.autochina.p2p:id/btn_dialog_action").click()
self.driver.quit()

第1步:获取当前手机屏幕的宽和高

第2步:在一定时间内按照相应的比例向上滑动

第3步:使用定位工具定位到元素的坐标点

第4步:根据获取到的元素的属性值,进行点击操作,弹框元素的获取同此方法


END绵薄之力

最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

加入我的软件测试交流群:110685036免费获取~(同行大佬一起学术交流,每晚都有大佬直播分享技术知识点)

软件测试面试小程序

被百万人刷爆的软件测试题库!!!谁用谁知道!!!全网最全面试刷题小程序,手机就可以刷题,地铁上公交上,卷起来!

涵盖以下这些面试题板块:

1、软件测试基础理论 ,2、web,app,接口功能测试 ,3、网络 ,4、数据库 ,5、linux

6、web,app,接口自动化 ,7、性能测试 ,8、编程基础,9、hr面试题 ,10、开放性测试题,11、安全测试,12、计算机基础

获取方式 :

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值