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

Python+Appium手机自动化测试学习实战

程序员文章站 2022-03-11 22:57:48
1、Appium是一个开源跨平台的工具,可以测试Android与ios2、appium本身并不能自动化手机,能够做到跨平台是因为些平台自己本身就有自动化框架3、appium只负责承担中间人的角色。4、可以支持python、java、c#等5、c/s架构,c端就是是测试代码**环境搭建**1、安装:Appium客户端库输入pip命令安装appium客户端库pip install Appium-Python-Client使用pip list查询appium客户端库是否安装2、安...

1、Appium是一个开源跨平台的工具,可以测试Android与ios
2、appium本身并不能自动化手机,能够做到跨平台是因为些平台自己本身就有自动化框架
3、appium只负责承担中间人的角色。
4、可以支持python、java、c#等
5、c/s架构,c端就是是测试代码
**

环境搭建

**

1、安装:Appium客户端库
输入pip命令安装appium客户端库
pip install Appium-Python-Client
Python+Appium手机自动化测试学习实战

使用pip list查询appium客户端库是否安装
Python+Appium手机自动化测试学习实战

2、安装appiumDesktop通过这个接受代码发过来的指令,来转成 手机上能够识别的指令,第一次在手机上运行代码后,手机上也会自动安装一个。
Python+Appium手机自动化测试学习实战

安装成功后会是一这样子的界面
Python+Appium手机自动化测试学习实战

点击Start Server V1.15.1能够正常打开就没有问题了
Python+Appium手机自动化测试学习实战

3、安装android-SDk,这是手机自身的测试框架,包含了元素定位工具与对应的包,直接解压,然后配置环境变量好了,环境运行需要有一个java的环境,弄一个1.8的jdk并且配置环境变量就好了
Python+Appium手机自动化测试学习实战
配置android-SDk环境变量

变量名:ANDROID_HOME
变量值:变量值就是android-SDk解压后文件的位置
Python+Appium手机自动化测试学习实战

Python+Appium手机自动化测试学习实战
配置java环境变量

变量名:JAVA_HOME
变量值:变量值就是jdk解压后文件的位置
Python+Appium手机自动化测试学习实战
Python+Appium手机自动化测试学习实战
环境搭建完了以后,需要进行手机设置

1、打开手机上开发者模式
2、打开手机上usb相关的权限
3、使用数据线连接手机与电脑,允许电脑对手机的操作

测试手机与电脑连接是否成功

在这个有adb.exe的文件里面打开命令窗口(按住Shift,单机鼠标右键,点击在此处打开命令窗口)
Python+Appium手机自动化测试学习实战

输入adb devices 可以查到就表示连接没有问题了
Python+Appium手机自动化测试学习实战

环境搭建搭建完成,并且手机连接没问题后,就可以开始写代码啦!!!
代码部分跟selenium差不多,不过selenium通过webdriver.Chrome,appium是webdriver.Remote。

配置项

platformName—设备平台。填Android或IOS platformVersion—手机版本
deviceName----设备名。可以随便填写,但必须要有这一项
appPackage----要启动的app的包名。微信是"com.tencent.mm"
appActivity----要启动的界面。微信启动界面是".ui.LauncherUI"

获取被测应用信息

首先打开被测应用,然后在命令窗口输入以下命令,框起来的就是appPackage
adb shell dumpsys activity recents | findstr intent
com开头的包名,/.后面的是入口信息,/不需要保留
Python+Appium手机自动化测试学习实战
…小案例…

**
from appium import webdriver
deploy = {
# 这些是必须要的
"platformName":"Android",
"platformVersion":"7.1.2",
"deviceName":"emulator-5554",
"appPackage":"com.netease.cloudmusic",
"appActivity":".activity.LoadingActivity",
#下面的随意
#禁止app在自动化后重置
"noReset":True,
# # 设置命令超时时间,单位秒
"newCommandTimeout":3600
}
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub',deploy)
driver.implicitly_wait(100)
# 开始自动操作app(XPATH  //元素类型(class值)[@属性='属性值'])
# 1、点击每日推荐
driver.find_element_by_xpath("//*[@text='每日推荐']").click()
# 2、获取前三首歌曲信息
# 歌曲名字
gequ = driver.find_elements_by_id('com.netease.cloudmusic:id/songName')[:3]
#打印歌曲
for gequ in gequ:
    print(gequ.text)
driver.quit()

**

打开被测app,打开appium到这个界面,然后运行代码,app会自动重启,然后appium会后面会显示200,那么代码就没有问题啦!!
Python+Appium手机自动化测试学习实战

app自动重启后,appium显示200
Python+Appium手机自动化测试学习实战

配置参数,可以获取手机元素
Python+Appium手机自动化测试学习实战

保存后点击 Start session
Python+Appium手机自动化测试学习实战

报错。。。
Python+Appium手机自动化测试学习实战
解决方法
Python+Appium手机自动化测试学习实战
Python+Appium手机自动化测试学习实战
不进主页的话,刷新一下就可以了
Python+Appium手机自动化测试学习实战

本文地址:https://blog.csdn.net/weixin_46093563/article/details/112463861

相关标签: python app