关于实现app自动化的前期准备和遇到的一些问题解决方法

前言:网上不知道是我没找到还是怎么回事,关于客户端自动化的文章比web自动化的文章少很多,且客户端自动化出现的问题大多数文章都无法解决,下面就是我实现成功打开客户端app的一些问题的解决办法,都没有问题截图,是成功跑起来之后的总结。
我的设备:mac(windows的话也可以参考,基本都差不多)


关于安装和配置python,appium server GUI,android studio的一些问题
python:主要就是编写操作命令的代码
appium server GUI:这里我安装的是appium server GUI,图形界面对于新手比较友好
android studio:主要就是模拟器,模拟客户端,这样一台电脑就可以了

1、appium server GUI配置Configurations

打开程序,点击下面的Edit Configurations,在对应的地方填写文件的路径
在这里插入图片描述
这里的java_home如,可以填写下面的路径,对应的jdk文件名换成自己的(我这是默认的安装路径)

/Library/Java/JavaVirtualMachines/jdk1.8.0_301.jdk/Contents/Home

如果还是报java_home错误的话,那么就要配置一下java_home,widows好配,主要就是mac,下面是mac的java_home配置的方法

打开终端,输入java -version查看你的java版本

输入:java -version
输出:java version "1.8.0_301"
	 Java(TM) SE Runtime Environment (build 1.8.0_301-b09)
	 Java HotSpot(TM) 64-Bit Server VM (build 25.301-b09, mixed mode)

然后输入,输入which java,查看java指定命令的路径路径

输入:which java
输出:/usr/bin/java

然后配置java_home文件

输入:vim .bash_profile
接着编辑文件,输入:
export JAVA_HOME=$(/usr/libexec/java_home)
export PATH=$JAVA_HOME/bin:$PATH
export CLASS_PATH=$JAVA_HOME/lib
然后使修改的文件生效:source .bash_profile

上面的都操作完成之后,关于java_home的报错应该就会消失了,注意,我的java安装路径都是默认的

2、android studio安装不了app问题

这个我运行的时候下载了这个配置,但是不知道由于什么原因找不到,自定义选择也不行,然后我就自己把platform-tools文件放在了一个位置,然后自定义选择就行
找到你的platform-tools文件,通过下面的方法找到你的文件路径,我的mac从这里能打开,但是从访达里面去寻找的时候找不到,也没找到解决办法,然后就复制了一份文件放在了一个位置,如果能从访达找到,那么就不用复制一份了,最后记住你放的位置
在这里插入图片描述
然后点击模拟器旁边菜单栏的三个点,打开该页面,关闭use detected ADB location按钮,然后选择刚刚的platform-tools文件里面的adb的文件路径
在这里插入图片描述
最后你再安装app就可以了

3、找不到apksigner.jar问题

这个需要你去下载这个文件,然后放在报错找不到这个文件的地方,然后就不会报错了,我是放在了platform-tools文件下就正常了

百度网盘下载地址: 链接:
https://pan.baidu.com/s/1iWafeX63gSrQgYNf_HCHRA
提取码: i5fd

4、获取包名appPackage,app启动名appActivity的方法

首先你可以打开android studio的logcat,然后点击需要获取的app,查看日志就可以了

包名appPackage
方法一:打开logcat,然后点击需要获取的app,搜索关键字,然后前面的基本就是你的包名
在这里插入图片描述
方法二
打开终端,输入:
adb shell pm list package出所有的应用的包名 (-s:列出系统应用 -3:列出第三方应用 -f:列出应用包名及对应的apk名及存放位置 -i:列出应用包名及其安装来源)

adb shell pm list package

下面输出的就是你所有的包名,比如我的
在这里插入图片描述

app启动名appActivity
方法一:直接从android studio获取,点击app,查看logcat,然后搜索包名,查看第一条信息日志,/后面的就是app启动名appActivity了
在这里插入图片描述

方法二:

终端输入:adb shell
然后输入:dumpsys package com.whatsegg.egarage

下面就是对应的app启动名appActivity
在这里插入图片描述

5、运行代码

下面是对应的基本代码,我也是刚成功跑起来;其中的driverName我不注释运行的时候会有一个提示,我注释了也还是能运行,这里我也不清楚什么原因,后面了解了再来解释

from appium import webdriver

server = 'http://localhost:4723/wd/hub'      # Appium Server, 端口默认为4723
desired_capabilities = {
    'platformName': 'Android',    # 平台
    # 'driverName': 'Emulator Pixel_5_API_29', # 手机型号
    'platformVersion': '10',      # 安卓版本
    'appPackage': 'com.whatsegg.egarage',  # APP包名
    'appActivity': '.activity.SplashActivity',       # APP启动名
    "noReset": "true",
    'unicodeKeyboard': True,         # 这句和下面那句是避免中文问题的
    'resetKeyboard': True,
    'automationName': 'UiAutomator2'
}
driver = webdriver.Remote(server, desired_capabilities) # 连接手机和APP

# 获取APP的包名
print(driver.current_package)
# 获取APP的启动名
print(driver.current_activity)

# 退出driver
driver.quit()  
  1. appium server GUI 打开点击首页的start server按钮启动服务
  2. android studio打开模拟器,安装对应的app
  3. python输入上面的代码,然后运行

运行成功截图:
在这里插入图片描述

小结:上面就是我在进行app自动化的时候遇见问题中浪费了大量时间的问题,在这里分享给大家,避免踩同样的坑。

更多内容

如果需要了解一些别的关于测试的知识,可以访问http://heitree.xyz/看看,也许有你需要的,感谢阅读

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值