关于ui-automator,google的官方介绍;

https://developer.android.google.cn/training/testing/ui-automator

https://developer.android.google.cn/guide

自动化环境搭建

安装client编程库

自动化程序需要调用客户端库和applium Server进行通信;

pip install appium-python-client

安装Appium Server

Appium Server 是用 nodejs 运行的,基于js开发出来的。

Appium组织为了方便大家安装使用,制作了一个可执行程序 Appium Desktop,把 nodejs 运行环境、Appium Server 和一些工具 打包在里面了,只需要简单的下载安装就可以了。

可以从 上面给出的百度网盘连接 下载安装: Appium-windows-1.15.1.exe

附加信息: Appium Desktop官方下载:  https://github.com/appium/appium-desktop/releases/tag/v1.22.3-4

安装JDK

本教程主要讲解 安卓APP的自动化,必须要安装安卓SDK(后面会讲到),而安卓SDK需要 JDK 环境。

可以从 上面给出的百度网盘连接 下载安装: jdk-8u211-windows-x64.exe

安装好之后,还需要添加一个环境变量 JAVA_HOME ,指定 值 为 jdk安装目录,比如

JAVA_HOME   d:\tools\java\jdk1.8.0_211

具体操作参考视频讲解。

安装 Android SDK

对于安卓APP的自动化,Appium Server 是需要 Android SDK的。

因为要用到里面的一些工具,比如 要执行命令设置手机、传送文件、安装应用、查看手机界面等。

可以从 上面给出的百度网盘连接 下载最新的 Android SDK文件包: androidsdk.zip ,并且解压,即可。

解压完成后,需要 配置一下 添加一个 环境变量 ANDROID_HOME ,设置值为sdk包解压目录,比如 d:\tools\androidsdk

另外,还推荐大家配置环境变量 PATH ,加入 adb所在目录, d:\tools\androidsdk\platform-tools\

注意:是 添加 该目录到环境变量PATH中, !!!不是替换!!! ,否则会导致系统命令都找不到的严重后果,初学者 请对照视频讲解操作。

连接手机

上述的软件环境都准备好以后,要自动化手机APP,需要:

  • 在你运行程序的电脑上 用 USB线 连接上 你的安卓手机

  • 进入 手机设置 -> 关于手机 ,不断点击 版本号 菜单(7次以上),

  • 退出到上级菜单,在开发者模式中,启动USB调试

如果手机连接USB线后,手机界面弹出 类似 如下提示。

选择 允许USB调试。

注意:

有的手机系统,可能需要一些额外的选项需要设置好。

比如,有的手机,开发者选项里 需要打开 允许通过USB安装应用 等。

总之,给USB开发调试 尽可能方便的控制手机。

连接好以后,打开命令行窗口, 执行 adb devices -l 命令来列出连接在电脑上的安卓设备。

如果输出 类似如下的内容:

List of devices attached
4d0035dc767a50bb device product:t03gxx model:GT_N7100 device:t03g

表示电脑上可以查看到 连接的设备,就可以运行自动化程序了。

python-手机自动化环境部署的更多相关文章

  1. 西秦的ACE-Python教程 一、Python本地开发环境部署

    西秦的ACE-Python教程 一.Python本地开发环境部署       西秦 级别: 论坛版主 发帖 1357 云币 2782 加关注 写私信   只看楼主 更多操作楼主  发表于: 10-10 ...

  2. appium手机自动化环境搭建

    在robotframework环境安装完成的基础上进行如下安装,如果没有安装rfs环境,请先参考robotframework安装文章:Robot Framework的环境搭建 文件下载地址:链接:ht ...

  3. 在doker上的python安装及环境部署

    python环境部署 我们今天学习的内容是如何将Django项目部署到linux服务器上,我们部署的linux系统是centos7首先,我们先在linux上搭建我们的Python3环境: 在这里首先强 ...

  4. python+pycharm+selenium+谷歌浏览器驱动 自动化环境部署(一)

    准备工作: 第一步:安装python.打开网址https://www.python.org/downloads/windows/     现在最新版本3.7,本人使用的是3.6. 第二步:安装pych ...

  5. Python简介及环境部署

    Python的由来:         Python的创始人:Guido van Rossum Guido 在1989年12月时,寻找一门“课余”编程项目来打发圣诞节前后的时间.Guido决定为当时正构 ...

  6. Python + selenium + pycharm 环境部署细节 和selenium、Jenkins简单介绍

    一.测试体系:Python + selenium + pycharm + Jenkins/docker 环境搭建: 1.安装python 3.4/3.5 2/3.6/ 3.7 2.配置环境变量 3.p ...

  7. Python 远程开发环境部署与调试

    一.下载相应开发工具 Pycharm :下载地址  二.部署开发机 一般在工作过程中,开发环境并不是本地环境,而是指在开发机:因为,有很多依赖本地部署非常麻烦,而开发机中则内置了很多相关的服务 三.代 ...

  8. Python+Appium自动化环境搭建

    appium工作原理 appium 在android端工作流 client端也就是我们 test script是我们的webdriver测试脚本. 中间是起的Appium的服务,Appium在服务端起 ...

  9. selenium+python 搭建自动化环境

    一.以搭建windows平台为例 准备工具如下: 1)下载Python 2)安装,配置环境变量 3)安装selenium,通过pip安装,命令如下:  pip install selenium 方式二 ...

  10. Python +selenium自动化环境的搭建

    Python +selenium+googledriver 小白的血泪安装使,不停的总结写心得是理解透彻的毕竟之路 一,python的安装: 首先去Python的官网下载安装包:https://www ...

随机推荐

  1. Java 字符串反转,举例:键盘录入”abc”输出结果:”cba”

    代码如下: public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out. ...

  2. 大模型微调技术LoRA与QLoRA

    LoRA: Low-Rank Adaptation of Large Language Models 动机 大模型的参数量都在100B级别,由于算力的吃紧,在这个基础上进行所有参数的微调变得不可能.L ...

  3. Kubernetes(k8s)服务账号Service Accounts

    目录 一.系统环境 二.前言 三.服务账号Service Accounts简介 四.用户账号与服务账号区别 五.服务账号(Service Accounts) 5.1 创建服务账号(Service Ac ...

  4. Composer 镜像原理 (3) —— 完结篇

    相关文章 Composer 镜像原理 (1) -- 初识 Composer Composer 镜像原理 (2) -- composer.json Composer 镜像原理 (3) -- 完结篇 上一 ...

  5. 玩转 PI 系列-如何在 Rockchip Arm 开发板上安装 Docker Tailscale K3s Cilium?

    概述 618 买了几个便宜的 Purple PI OH 开发板 (500 块多一点买了 3 个), 这个开发板类似树莓派,是基于 Rockchip(瑞芯微) 的 rx3566 arm64 芯片.如下: ...

  6. jquery解决跨域问题

    在Ajax请求的url不是本地或者同一个服务器下面的URI,最后虽然请求显示为200,但是不会返回任何数据,事实上简单来说请求同一个域名下的url或者说用不带http的绝对路径和相对路径请求是没有任何 ...

  7. React: Warning: `value` prop on `input` should not be null.

    警告 解决方案 对value进行判断 修改后的效果 至此问题解决

  8. 王道oj/problem15(用c++的引用精简代码)

    网址:http://oj.lgwenda.com/problem/15 思路:子函数的形参是指针的时候格式为 int*&p,且原函数实参为p 主函数使用fgets(字符串的指针,最大容量,st ...

  9. [django]路由变量与正则表达式

    示例: urlpatterns = [ path('detail.<int:id>.html', detailView, name='detail'), ] 路由变量的类型 示例路由配置了 ...

  10. shell分析nginx日志的一些指令

    前言 nginx日志格式默认 shell指令 查看有多少个IP访问: awk '{print $1}' log_file|sort|uniq|wc -l 查看某一个页面被访问的次数: grep &qu ...