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 买一个真机调试账号(实际测 ...
随机推荐
- mysql8.0以后的版本开启远程连接:
mysql8.0以后的版本开启远程连接: 1 CREATE USER 'root'@'%' IDENTIFIED BY '你的密码'; 2 GRANT ALL ON *.* TO 'root'@'%' ...
- python实例1(石头 剪刀 布)
#random .randint 模块导入 import random #定义一个用户需要输入的数据内容入口 user = int(input("请输入(石头1,剪刀2,布3 ...
- MySQL 导出数据结构 If you don't want to restore GTIDs, pass --set-gtid-purged=OFF.
应用场景MYSQL导出数据结构 Warning: A partial dump from a server that has GTIDs will by default include the GTI ...
- 【python】yaml文件的读写
[python]yaml文件的读写 冰冷的希望 2020-10-22 18:31:47 442 收藏 1分类专栏: python 文章标签: python yaml版权 python专栏收录该内容67 ...
- 《MySQL是怎样运行的》第四章小结
- 一个关于 Linux环境下输出操作符 >和>>的问题
[>和>>的区别]命令>文件,表示以覆盖的方式,把命令正确输出到指定的文件或者设备当中:命令>>文件,表示以追加的方式,把命令正确输出到指定的文件或者设备当中. [ ...
- SpringBoot——自定义自动配置与起步依赖
SpringBoot--自定义自动配置与起步依赖 SpringBoot为我们提供了灵活强大的自动配置与起步依赖功能,接下来我们参考其实现原理,实现专属于我们自己的自动配置与起步依赖. 不仅如此,我们对 ...
- [C++STL教程]6.bitset是什么?和bool有什么区别?零基础都能看懂的入门教程
之前我们介绍过vector, queue, stack,map,set,今天我们介绍另外一个stl容器:bitset. 作者:Eriktse 简介:19岁,211计算机在读,现役ACM银牌选手力争以通 ...
- Conda in Windows under MSYS2 and Zsh 的问题解决
Conda in Windows under MSYS2 and Zsh 的问题解决 在Window11上使用git bash 安装zsh,并配置p10k主题,主要问题就是prompt中无法显示con ...
- 怎么在php7项目中安装event扩展
今天就跟大家聊聊有关怎么在php7项目中安装event扩展,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获. 安装支持库libevent wget ...