前言:

  • 测试的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.直接进入官网下载

http://appium.io/

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自动化的更多相关文章

  1. 关于appium操作真机打开app之后无法定位页面元素的问题的解决办法

    appium操作真机打开app后无法定位页面元素:例如微信或者支付宝支付时,手机的安全控件会对支付环境进行保护,会断掉当前appium与真机的链接,导致连接失败,无法定位到页面元素,在做ui自动化之前 ...

  2. Python+Appium自动化测试(2)-appium连接真机启动app

    app自动化测试的第一步,是启动被测app.appium环境搭建好后,我们就可以连接真机启动app了.环境为windows,Appium1.18.0,Android手机,被测app为今日头条app,让 ...

  3. appium 真机测试问题 出现 instruments crashed on startup

    1.appium 真机测试的时候 instruments crashed on startup,必须在真机上打开UI Automation 在设置里: Developer->Enable UI ...

  4. 免费开发者证书真机调试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. 5.Appium+真机Demo

    1.连接真机后,执行代码时出现错误:A new session could not be created. (Original error: Could not extract PIDs from p ...

  6. 第四章 Appium真机运行测试用例讲解

    -----手机自动化之Appium 手机自动化测试用例虽然可以在模拟器上运行,可是模拟器毕竟和真机还是有区别的.在第二章我们讲到了模拟器上运行测试用例后,我又花了两天的时间,研究了一下真机运行测试用例 ...

  7. [python]Appium+python +pytest 实现APP自动化,基于安卓

    1.安卓环境搭建 &关于app自动化,个人觉得安装过程比较复杂,脚本难度实现和web自动化差不多封装关键字即可,因此,下面会写安装.启动APP以及过程中遇到的一些坑(这一篇偏向解释给个人) & ...

  8. python+appium+真机测试

    appium环境搭建 操作系统: Windows 10 被测平台: Android真机 appium服务器: appium Desktop appium客户端: python-client 测试的AP ...

  9. iOS 真机测试 App installation failed

    真机测试的过程中,出现这种Bug This application's application-identifier entitlement does not match that of the in ...

  10. DELPHI XE5 UP2 无真机输出 APP并转换为IPA(实践整理)

    1.在Mac上配置开发环境(具体步骤请百度)   XCODE5.1+IOS7.1SDK+COMMAND LINE TOOLS   安装PlatformAssistant   买一个真机调试账号(实际测 ...

随机推荐

  1. 功能测试--APP专项

    APP测试重点 APP测试与web测试的区别 APP测试常见问题 APP日志分析 APP压力稳定性测试

  2. 网络数据请求get&post

  3. CentOS7-jdk1.8下载安装

    一.下载网址 jdk全版本:https://www.oracle.com/java/technologies/downloads/archive/ 本次安装版本(jdk1.8.0_151):https ...

  4. idea plugins搜不出来东西

    今天学习Vue要安装一个Vue.js的插件,在idea的plugins上搜死活搜不出来,参照了网上的关防火墙,勾选什么auto什么的选项还是不管用,最后瞎捣鼓弄好了,在博客上记录一下. 打开手机数据( ...

  5. 使用python来搭建一个简易的文件下载环境以及用droopy来实现一个文件上传环境

    ubuntu在安装的时候一般都是自带python环境的,大家可以查看一下查看demo如下 用于共享的命令很简单python2: python -m SimpleHTTPServer 8888pytho ...

  6. c输入的缓冲区

    作业题:输入两个整数(12和37),从键盘输入'A'和'a'时,输出两个数中的较大数:从键盘输入'B'和'b'时,输出两个数中的较小数. int a; char c; scanf("%d&q ...

  7. TProtocolException: Required field 'type' is unset! Struct:TPrimitiveTypeEntry(type:null)

    org.apache.thrift.protocol.TProtocolException: Required field 'type' is unset! Struct:TPrimitiveType ...

  8. vue2+element表格拖拽

    1.定义好拖拽元素 ref标识,以及 row-key="id"  (row-key拖拽标识,拖拽后数据不会乱, id为tableDataNew数据对象id) 2.下载cnpm in ...

  9. Leftpad事件 我们是不是早已忘记该如何好好地编程?

    多年前的Leftpad 撤包事件使得React . Babel 和许多流行的npm模块都受到波及,无法正常运行. 这些受到影响的模块都引入了一个叫做 left-pad 的模块. 以下就是这十一行代码: ...

  10. 【git】学习笔记

    一.git原理 git只能跟踪文本文件的变化,比如txt文件.程序代码等.而对于图片.视频等二进制文件的变化,就无法知道变化了哪里. git 分支的理解:如下图所示,git分支可以理解为是一个指针以及 ...