【k.11】python+appium+雷电模拟器 app自动化测试 demo 教学

本文详细介绍了如何使用Appium、Python和雷电模拟器进行安卓应用自动化测试。从环境配置(包括Python、JDK、Android SDK、雷电模拟器的安装)到Appium的设置,再到获取APP包名和活动,最后展示了如何编写自动化测试脚本,通过Python操控应用元素。整个流程清晰明了,为安卓自动化测试提供了实用的教程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、首页讲解一下每个部分的作用:
1、雷电模拟器相当于一台手机,里面安装被测试的软件app
2、appium相当于一个链接python脚本和雷电模拟器的桥梁
3、python,编写控制app的脚本代码

二、过程:

1、准备好python的环境,已经安装好PyCharm,用来编写python脚本

2、准备jdk1.8
2.1:下载jdk包,小编的是64位1.6版本,其它高级版本应该也是可以的。根据自己的系统选择对应版本
2.2:一路傻瓜式安装,注意安装路径不要有空格,不要有中文。jdk和jre不要放在一个文件夹下
2.3:设置三个环境变量,我的电脑>选择“属性”->“高级”->“环境变量”->“系统变量”->“新建”
JAVA_HOME----F:\Java\JDK8_64” (根据自己安装路径填写)在这里插入图片描述
CLASSPATH— .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;
在这里插入图片描述
PATH-----;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
在这里插入图片描述
2.4:打开cmd验证是否安装成功,输入java -version,然后输入javac能显示版本号和下面的帮助信息说明安装成功
在这里插入图片描述
3、安装配置android-sdk环境变量(感觉这步可以不用,可以直接用雷电模拟器的adb,但是建议配置好)
3.1:下载android-sdk,这个是做android测试和开发的必备环境,百度自己下载
3.2:解压后,里面有个SDK manager.exe双击打开
在这里插入图片描述

3.3:勾选你要下载的API版本和对应的android版本,后面模拟器会用到(不下载用其它模拟器也行,或者真机),然后坐等下载
在这里插入图片描述
3.4:path添加两个变量,将以下箭头所指的两个文件路径添加到path里
在这里插入图片描述
3.5:然后打开cmd输入adb,查看是否安装成功
在这里插入图片描述
4、安装雷电模拟器(官网:https://www.ldmnq.com/)下载并安装最新版
我安装在F:\leidian\LDPlayer4这个位置,打开模拟器,打开模拟器之后,在打开cmd,并指向雷电模拟器的安装目录下,输入adb devices,只要看见“emulator-5554 device”表示成功获取设备信息,这个信息以后有用。
在这里插入图片描述

5、安装appium(官网:https://bitbucket.org/appium/appium.app/downloads/)
5.1:下载最新的forwin版本就可以例如AppiumForWindows_1_4_16_1.zip,下载后解压后可以直接使用,双击打开appium,点击Edit Configurations并配置路径,记得保存并重启。
在这里插入图片描述
5.2:点击Start Server启动appium
在这里插入图片描述

5.3:然后点击右上角的放大镜图标进入配置驱动,!!!这个配置驱动是全文至关重要的,这里我逐一解析!!!
在这里插入图片描述
A: “platformName”: “Android”
这个没有什么问题,都是标配
B:“platformVersion”: “7.1.2”
这个请查看雷电模拟器的版本

C:“deviceName”: “emulator-5554”,
这个就是上文安装雷电模拟器后在cmd输入adb devices输入后获取的
D:“appPackage”: “com.ss.android.ugc.aweme.lite”,
这个就是要测的APP包名
E:“appActivity”: “com.ss.android.ugc.aweme.splash.SplashActivity”,
这个可以理解成被测APP的启动页
appPackage和appActivity的获取非常重要,如果获取不正确,以后的工作将无法进行。

现在指引如何正确获取
。首先在雷电模拟里面打开被测的app
。然后在cmd里面指向到模拟器的路径,并输入adb -s emulator-5554 shell,里面的emulator-5554就是之前adb devices里面的名称,这个意思是获取这个模拟器的shell,然后再输入dumpsys activity | grep mFocusedActivity即可获取当前打开的app的appPackage和appActivity。

这个抖音app为例:appPackage:com.ss.android.ugc.aweme.lite
appActivity:com.ss.android.ugc.aweme.splash.SplashActivity
在这里插入图片描述
5.4:通过appium获取app元素
配置好驱动json之后就可以使用appium启动雷电模拟器里面的app了,点击Start Session
在这里插入图片描述
之后可以获取对应的元素xpath或者id到python里面进行元素操作,有些元素不是点击就能定位,需要不断点开结构节点去寻找,细心找始终会找到的。
在这里插入图片描述
6、使用python编写自动化脚本
直接贴出源码,desired_caps里面就是appium驱动json的信息
driver=app_web.Remote(‘http://localhost:4723/wd/hub’,desired_caps),意思是用desired_caps的驱动信息,使用appium(http://localhost:4723/wd/hub就是appium的地址信息)来启动被测试的app软件,然后往下执行其他对元素的各种操作。
在这里插入图片描述
在这里插入图片描述

from appium import  webdriver as app_web
import time
from time import sleep

desired_caps={
  "platformName": "Android",
  "platformVersion": "7.1.2",
  "deviceName": "emulator-5554",
  "appPackage": "com.ss.android.ugc.aweme.lite",
  "appActivity": "com.ss.android.ugc.aweme.splash.SplashActivity",
  "noReset": 'false' #在会话前是否重置app状态
}
driver=app_web.Remote('http://localhost:4723/wd/hub',desired_caps)
driver.implicitly_wait(30)
driver.find_element_by_id('com.ss.android.ugc.aweme.lite:id/arv').click()
driver.implicitly_wait(30)
driver.find_element_by_id('com.ss.android.ugc.aweme.lite:id/ai1').send_keys('贷款')
driver.find_element_by_id('com.ss.android.ugc.aweme.lite:id/ai1').click()
sleep(3)
driver.keyevent(66)
Appium是一个用于自动化移动应用程序的开源工具,它可以与Python脚本雷电模拟器进行连接。雷电模拟器是一款安装在电脑上的Android模拟器,可以模拟Android设备的功能。在使用Appium进行移动应用程序自动化测试时,需要先安装雷电模拟器,并将其与Python脚本Appium进行连接。 首先,需要在雷电模拟器中安装被测试的应用程序。然后,在命令提示符中指向雷电模拟器的路径,并输入adb -s emulator-5554 shell命令,其中emulator-5554是通过adb devices命令获取到的设备名称。这个命令的作用是获取模拟器的shell。接下来,输入dumpsys activity | grep mFocusedActivity命令,可以获取当前打开的应用程序的appPackage和appActivity。这些信息将在编写Python脚本时使用。 在编写Python脚本时,可以使用Appium作为桥梁,连接Python脚本雷电模拟器。通过Appium,可以控制雷电模拟器中的应用程序,执行各种自动化测试操作。 总结起来,Appium是一个用于自动化移动应用程序的工具,可以与Python脚本雷电模拟器进行连接,实现移动应用程序的自动化测试。 #### 引用[.reference_title] - *1* *2* *3* [【k.11python+appium+雷电模拟器 app自动化测试 demo 教学](https://blog.csdn.net/u010442381/article/details/114479291)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

\\k.11

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值