Win Pycharm + Appium + 真机 实现APP自动化
前言:
- 测试的APP:亿通行
- 手机型号:OPPO
- 系统:安卓10
一、安装Python3.x
1.直接登录Python官网 https://www.python.org/,下载最新版本即可
2.安装Pycharm(下载.exe,直接安装即可)
二、安装Python3 Appium库
1.打开Python3.x的安装目录,找到Scripts
文件夹执行
pip install Appium-Python-Client
2.使用Pycharm安装
File → Settings → Project → Python Interpreter → 搜索Appium → 选择点击install即可
三、安装Android SDK
直接进入官网下载Studio
https://developer.android.google.cn/studio/
注:需要注意的是安装过程,SDK要选择一个路径,这个要记住,后面会用的
四、安装JDK
直接进入官网下载
https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
注:需要注意的是安装过程,jdk要选择一个路径,这个要记住,后面会用的
五、安装Appium
1.直接进入官网下载
2.安装后双击打开
3.点击Edit Configurations
4.配置路径
这两个路径就是在安装SDK与jdk的那两个路径,配置完成点击Save and Restart
5.点击Start Server
说明配置完成
6.点击Start Inspector Session
7.输入设备信息
配置信息说明
{ "platformName": "Android", # 测试的平台,安卓或者ios "platformVersion": "10", # 系统版本,此处代表安卓10 "deviceName": "OPPo", # 设备名称,填手机型号就行,随便填也可 "app": "C:\Users\xxx\Downloads\com.ddnapalon.calculator.gp_3.1.33_999349.apk", # app的安装包的位置 "appPackage": "enfc.metro", # app的包名 "appActivity": "enfc.metro.main.MainActivity" # app的activity名 }
8.配置完成点击Start Session,进入如下图
9.补充
六、编写测试脚本
1.脚本
# coding=utf-8 from appium import webdriver from selenium.webdriver.common.by import By from time import sleep import unittest # 配置信息,字典类型,直接复用上面的 Appium json就可以 desired_caps = { "platformName": "Android", "platformVersion": "10", "deviceName": "OPPo", #"app": "C:\\Users\\xxxx\\Downloads\\com.ddnapalon.calculator.gp_3.1.33_999349.apk", "appPackage": "enfc.metro", "appActivity": "enfc.metro.main.MainActivity" } class app_test(unittest.TestCase): def setUpClass(self): global driver # 传入appium server的host+path,还有配置信息 driver = webdriver.Remote(command_executor='http://127.0.0.1:4723/wd/hub', desired_capabilities=desired_caps) def test_login(self): try: # 取消授权弹框 driver.find_element(By.ID, 'com.android.permissioncontroller:id/permission_deny_button').click() sleep(1) except: print("弹框取消失败") else: # 点击立即登录 driver.find_element(By.ID, 'enfc.metro:id/tv_QrCode_Login_Go').click() sleep(2) # 点击账号密码登录 driver.find_element(By.ID, 'enfc.metro:id/login_bt_loginType').click() sleep(2) # 输入手机号 driver.find_element(By.ID, 'enfc.metro:id/login_et_phone').send_keys("18845632356") sleep(2) # 输入密码 driver.find_element(By.ID, 'enfc.metro:id/login_et_sms').send_keys("123456") sleep(3) # 退出测试 driver.quit() if __name__ == '__main__': unittest.main()
2.Appium执行结果
3.手机运行效果
暂时无法上传(o(╥﹏╥)o)
七、ADB相关补充
1.点击此电脑,属性
2.点击高级系统设置,点击环境变量
3.找到SDK里tools和platform-tools的文件路径
4.环境变量界面,如图,在下方的系统变量中新建
5.输入变量名android 和 tools和platform-tools的文件路径,点击确定即可
6.在Path中添加刚刚的环境,选择系统变量Path,点击新建输入%android%,点击确定即可
7.cmd 输入 adb
出现此图配置完成
8.获取应用包名以及Activity
1.连接设备 2.在设备上打开想要查看包名的应用 3.输入adb shell dumpsys window | findstr mCurrentFocus
红色:应用包名
蓝色:启动Activity名
八、真机设置
点击设置 → 其他设置 → 开发者选项(打开开发者选项、打开USB调试、打开禁止权限监控)→ adb device(即可查看手机连接信息)
至此,配置结束
to be continued...
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)