前言:

  • 测试的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. mysql8.0以后的版本开启远程连接:

    mysql8.0以后的版本开启远程连接: 1 CREATE USER 'root'@'%' IDENTIFIED BY '你的密码'; 2 GRANT ALL ON *.* TO 'root'@'%' ...

  2. python实例1(石头 剪刀 布)

    #random   .randint       模块导入 import random #定义一个用户需要输入的数据内容入口 user = int(input("请输入(石头1,剪刀2,布3 ...

  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 ...

  4. 【python】yaml文件的读写

    [python]yaml文件的读写 冰冷的希望 2020-10-22 18:31:47 442 收藏 1分类专栏: python 文章标签: python yaml版权 python专栏收录该内容67 ...

  5. 《MySQL是怎样运行的》第四章小结

  6. 一个关于 Linux环境下输出操作符 >和>>的问题

    [>和>>的区别]命令>文件,表示以覆盖的方式,把命令正确输出到指定的文件或者设备当中:命令>>文件,表示以追加的方式,把命令正确输出到指定的文件或者设备当中. [ ...

  7. SpringBoot——自定义自动配置与起步依赖

    SpringBoot--自定义自动配置与起步依赖 SpringBoot为我们提供了灵活强大的自动配置与起步依赖功能,接下来我们参考其实现原理,实现专属于我们自己的自动配置与起步依赖. 不仅如此,我们对 ...

  8. [C++STL教程]6.bitset是什么?和bool有什么区别?零基础都能看懂的入门教程

    之前我们介绍过vector, queue, stack,map,set,今天我们介绍另外一个stl容器:bitset. 作者:Eriktse 简介:19岁,211计算机在读,现役ACM银牌选手力争以通 ...

  9. Conda in Windows under MSYS2 and Zsh 的问题解决

    Conda in Windows under MSYS2 and Zsh 的问题解决 在Window11上使用git bash 安装zsh,并配置p10k主题,主要问题就是prompt中无法显示con ...

  10. 怎么在php7项目中安装event扩展

    今天就跟大家聊聊有关怎么在php7项目中安装event扩展,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获. 安装支持库libevent wget ...