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.脚本
from appium import webdriver
from selenium.webdriver.common.by import By
from time import sleep # 配置信息,字典类型,直接复用上面的 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"
} # 传入appium server的host+path,还有配置信息
driver = webdriver.Remote(command_executor='http://127.0.0.1:4723/wd/hub',
desired_capabilities=desired_caps)
#取消授权弹框
driver.find_element(By.ID,'com.android.permissioncontroller:id/permission_deny_button').click()
sleep(1) #点击立即登录
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()
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...
Win Pycharm + Appium + 真机 实现APP自动化的更多相关文章
- 关于appium操作真机打开app之后无法定位页面元素的问题的解决办法
appium操作真机打开app后无法定位页面元素:例如微信或者支付宝支付时,手机的安全控件会对支付环境进行保护,会断掉当前appium与真机的链接,导致连接失败,无法定位到页面元素,在做ui自动化之前 ...
- Python+Appium自动化测试(2)-appium连接真机启动app
app自动化测试的第一步,是启动被测app.appium环境搭建好后,我们就可以连接真机启动app了.环境为windows,Appium1.18.0,Android手机,被测app为今日头条app,让 ...
- appium 真机测试问题 出现 instruments crashed on startup
1.appium 真机测试的时候 instruments crashed on startup,必须在真机上打开UI Automation 在设置里: Developer->Enable UI ...
- 免费开发者证书真机调试App ID失效问题:"Unable to add App ID because the '10' App ID limit in '7' days has been exceeded."解决方案(5月5号)
免费开发者证书真机调试App ID失效问题:"Unable to add App ID because the '10' App ID limit in '7' days has been ...
- 5.Appium+真机Demo
1.连接真机后,执行代码时出现错误:A new session could not be created. (Original error: Could not extract PIDs from p ...
- 第四章 Appium真机运行测试用例讲解
-----手机自动化之Appium 手机自动化测试用例虽然可以在模拟器上运行,可是模拟器毕竟和真机还是有区别的.在第二章我们讲到了模拟器上运行测试用例后,我又花了两天的时间,研究了一下真机运行测试用例 ...
- [python]Appium+python +pytest 实现APP自动化,基于安卓
1.安卓环境搭建 &关于app自动化,个人觉得安装过程比较复杂,脚本难度实现和web自动化差不多封装关键字即可,因此,下面会写安装.启动APP以及过程中遇到的一些坑(这一篇偏向解释给个人) & ...
- python+appium+真机测试
appium环境搭建 操作系统: Windows 10 被测平台: Android真机 appium服务器: appium Desktop appium客户端: python-client 测试的AP ...
- iOS 真机测试 App installation failed
真机测试的过程中,出现这种Bug This application's application-identifier entitlement does not match that of the in ...
- DELPHI XE5 UP2 无真机输出 APP并转换为IPA(实践整理)
1.在Mac上配置开发环境(具体步骤请百度) XCODE5.1+IOS7.1SDK+COMMAND LINE TOOLS 安装PlatformAssistant 买一个真机调试账号(实际测 ...
随机推荐
- java相关部分配置
一.mybatis逆向工程 ① generator.properties jdbc.driverLocation=D:/testDir/Maven/repository_g/mysql/mysql-c ...
- Ubuntu 22.04 安装 VMWare 16.2.3 后无法启动
异常日志: 2022-06-13T03:49:56.019Z In(05) host-29676 In file included from /tmp/modconfig-XR2GVI/vmmon-o ...
- 复制文本到粘贴板 (vue3)(兼容ios)
// 点击复制到剪贴板 const copyToClipboard = (content)=> { if (window.clipboardData) { window.clipboardDat ...
- 2022.07.13 vue3下pinia的简单使用及持久化
使用前说明: 当前demo使用了vue3 + vite + typescript + pinia搭建的简单项目,主要介绍了在单文件组件(sfc)基础上使用pinia的用法,懒得看api的兄弟们,来这瞅 ...
- 使用ActiveMQ中遇到的端口占用问题
原Linux虚拟机中安装了ActiveMQ,EMQX.后期使用中主要使用EMQX来实现消息服务,停止了ActiveMQ.但是虚拟机挂起之后,长时间未再使用.近期由于有使用ActiveMQ的需要,而临时 ...
- debian 系统中安装 broadcom 无线网卡驱动
首先要修改 apt 的配置文件,允许安装 non-free 软件.即在 /etc/apt/sources.list 中生效的行的最后加上 contrib non-free,再使用 apt-get up ...
- Swagger-ApiOperation-value属性
1.value属性设置 @ApiOperation(value="${province}.getUsers", notes="描述") Documentatio ...
- day02-容器功能
容器功能 1.Spring注入组件的注解 Spring中的传统注解@Component.@Controller.@Service.@Repository,在SpringBoot中仍然有效. 2.@Co ...
- Go接入kafka
需要借助的库 github.com/Shopify/sarama // kafka主要的库* github.com/bsm/sarama-cluster // kafka消费组 生产者 package ...
- win10计划任务程序库实现定时任务的自动执行程序及问题解决。
win10计划任务程序库可以实现按照规则频率执行脚本的功能.现在将设置方法记录如下: 创建任务步骤 1.右键点击我的电脑,选择管理,依次点击:系统工具->任务计划程序->任务计划程序库. ...