【自动化基础】手把手教零基础小白搭建APP的UI自动化环境
前言
帮助零基础小白一步步搭建UI自动化环境,完成Python+Appium+模拟器/真机的UI自动化环境搭建。
环境准备:
- jdk1.8.0
- sdk
- Node.js
- appium
- python
- Appium-Python-Client
- 雷神模拟器
- pycharm
解释:
安卓系统依赖于java,所以需要安装java环境。
sdk用于与设备连接获取信息(也可以创建模拟器),appium服务会依赖于它
Node.js:Appium是使用node.js实现的,所以Node是解释器,首先需要确认安装好。(Node.js是一个平台,而不是一门语言)安装完后可使用npm(包管理工具)进行安装工具
NET Framework: 由于Appium是用.net开发的,所以安装之前需要安装.net framework,否则安装过程中会报错
Appium-Python-Client用来实现appium的python库,安装后可导入模块,如:from appium import webdriver
java安装及环境变量配置
java安装及环境配置教程:https://www.cnblogs.com/upstudy/p/15940591.html
android-sdk安装及环境变量配置
下载android-sdk
链接:https://pan.baidu.com/s/1Zcr35JmDzBUfYi7KGPNwSg
提取码:ss11上述下载的工具为免安装版,可以放到任意位置,找到工具目录中里面有个SDK manager.exe双击打开,

勾选你要下载的API版本和对应的android版本,然后直接下载就可以了。
也可以不选择安卓api,使用其他模拟器也可,如雷神、夜神等。
环境变量配置
与java配置一样,新建ANDROID_HOME,然后配置绝对路径
path中配置对应工具路径: 将
%ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools;加入环境变量Path中;
验证 Android SDK是否配置成功,win+r cmd打开命令行窗口,在命令行窗口中输入
adb –-version
Node.js安装及环境配置
-

安装及环境配置
下载安装后>双击安装文件>默认一直下一步进行nodejs的安装即可。(也可以自定义路径)

验证 node是否配置成功,win+r cmd打开命令行窗口,在命令行窗口中输入
node –v

一般会安装Node时会自动配置环境变量,如果上述验证不成功则需要手动配置环境变量,需要吧node安装路径配置到path中:

appium安装
方式一:
下载地址:
下载安装后可直接运行appium


方式二:
appium命令行安装:(需要前提安装好了Node)
npm install -g appium

启动appium服务命令:```appium```

python安装及环境变量配置
python安装及环境配置教程:xxxx
appium-Python-Client工具安装
pip进行安装
cmd打开命令行窗口,输入:pip install Appium-Python-Client安装后会提示成功。

验证安装是否成功:
python中输入from appium import webdriver,未报错则表示安装成功。

编写demo验证搭建环境是否正常
1. 运行模拟器,我这里用的是雷神,其他模拟器或真机都可以

2. 验证本机与设备连接情况
命令行中输入adb devices,查看设备连接信息

3. 启动appium服务

4. pycharm中编写测试脚本
devicesName配置为之前adb devices获取到的设备名称,其他根据自己设备具体情况去填写即可。

6. 运行脚本
脚本运行正常,模拟器可正常打开应用程序

可能遇到的问题
- 运行脚本时报sdk缺少
apksigner.jar

解决方法:
apksigner.jar的依赖包下载链接:https://pan.baidu.com/s/1laAVkrn2qxcha3FvIX-GMQ
提取码:ss11
下载放到sdk-platform-tools中即可

adb devices返回127.0.0.1:5555 offline
原因:adb连接安卓模拟器状态时,再次重启时模拟器,会再次出现一个adb.exe进程,此时会出现多了一个127.0.0.1:5555 offline
解决方法:
重启adb,使用此命令:
adb kill-server和adb start-server
【自动化基础】手把手教零基础小白搭建APP的UI自动化环境的更多相关文章
- 手把手教你用vue-cli搭建vue项目
手把手教你用vue-cli搭建vue项目 本篇主要是利用vue-cli来搭建vue项目,其中前提是node和npm已经安装好,文章结尾将会简单提到一个简单的例子.使用vue-cli搭建项目最开始我也是 ...
- 手把手教你使用 VuePress 搭建个人博客
手把手教你使用 VuePress 搭建个人博客 有阅读障碍的同学,可以跳过第一至四节,下载我写好的工具包: git clone https://github.com/zhangyunchencc/vu ...
- 手把手教你用Python搭建自己的量化回测框架【均值回归策略】
手把手教你用Python搭建自己的量化回测框架[均值回归策略] 引言 大部分量化策略都可以归类为均值回归与动量策略.事实上,只有当股票价格是均值回归或趋势的,交易策略才能盈利.否则,价格是随机游走的, ...
- 手把手教你认识并搭建Nginx
手把手教你认识并搭建Nginx Nginx (“engine x”) 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器. Nginx 是由 Igor ...
- 沉淀,再出发——手把手教你使用VirtualBox搭建含有三个虚拟节点的Hadoop集群
手把手教你使用VirtualBox搭建含有三个虚拟节点的Hadoop集群 一.准备,再出发 在项目启动之前,让我们看一下前面所做的工作.首先我们掌握了一些Linux的基本命令和重要的文件,其次我们学会 ...
- 手把手教你用webpack3搭建react项目(开发环境和生产环境)(一)
开发环境和生产环境整个配置源码在github上,源码地址:github-webpack-react 如果觉得有帮助,点个Star谢谢!! (一)是开发环境,(二)是生产环境. 一.首先创建packag ...
- SpringCloud学习之手把手教你用IDEA搭建入门项目(三)
本篇博客是承接上一篇<手把手教你用IDEA搭建SpringCloud入门项目(二)>,不清楚的请到我的博客空间查看后再看本篇博客,上面两篇博客成功创建了一个简单的SpringCloud项目 ...
- SpringCloud学习之手把手教你用IDEA搭建入门项目(二)
本篇博客是承接上一篇<手把手教你用IDEA搭建SpringCloud入门项目(一)>,不清楚的请到我的博客空间查看后再看本篇博客 1)先创建一个Eureka服务注册中心模块,用来作为服务的 ...
- SpringCloud学习之手把手教你用IDEA搭建入门项目(一)
SpringCloud简单搭建 jdk:1.8开发工具:IDEA注:需要了解springcloud 1.创建最简单的Maven项目 1)开始创建一个新的项目 2)创建一个空模板的maven项目,用 ...
随机推荐
- CentOS8 固定IP无法访问外网问题解决(ping: www.hao123.com: Name or service not known)
CentOS8虚拟机用了一段时间后,需要安装telnet-server服务,却无法正常安装.之前安装ftp服务是没有问题的,安装问题如下: 错误提示,无法下载相关元数据:网上也是0.0B/s.那么可能 ...
- 私有化轻量级持续集成部署方案--06-私有镜像仓库-Harbor
提示:本系列笔记全部存在于 Github, 可以直接在 Github 查看全部笔记 针对私有镜像仓库的问题,Docker 官方提供了搭建仓库服务的镜像服务:registry,使用此镜像就可以部署私有仓 ...
- transient关键字有何作用
使用对象流保存对象时,将对象的全部信息都保存了,但是有些信息是不希望保存,如密码,该如何避免该信息的保存? 使用transient关键字修饰的属性,在保存对象时,该属性并不会被保存. transien ...
- 云原生 PostgreSQL - CrunchyData PGO 教程:创建、连接、删除 Postgres 集群
入门 作为安装的一部分,请确保您已完成以下操作: 分叉 Postgres Operator 示例存储库并将其克隆到您的主机. https://github.com/CrunchyData/postgr ...
- docker下安装nginx,启动ngixn,修改nginx配置等--超详细
1.获取nginx版本 docker中nginx版本信息:https://hub.docker.com/_/nginx?tab=tags&page=1&ordering=last_up ...
- python虚拟环境与伪静态网页
目录 一:python虚拟环境 1.本地虚拟环境 1.创建虚拟环境 2.venv表示虚拟环境标志 3.虚拟环境下载django 4.使用虚拟环境 二:伪静态(了解) 1.什么是伪静态网页? 2.为什么 ...
- 攻防世界-Crypto高手进阶区部分Writeup
1.flag_in_your_hand && flag_in_your_hand1 下载,解压后 打开index文件,直接点击get flag错误,输入其他点击也同样 打开js文件,在 ...
- Map<String, String> map按key值排序
private static String buildMd5Params(Map<String, String> map) { StringBuilder result = new Str ...
- Java课程设计---WindowBuilder插件安装
1 .获取插件地址 WindowBuilder 地址http://www.eclipse.org/windowbuilder/download.php 打开网址后会看到如下 2.在线方式安装插件 根据 ...
- docker:nginx+confd动态生成配置
docker:nginx+confd动态生成配置 当我们项目越来越多时手动去服务器修改nginx配置是一件很麻烦而且可能出错的事情.我们可以通过nginx+confd+配置中心实现一套方案避免出错并减 ...