【自动化基础】手把手教零基础小白搭建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项目,用 ...
随机推荐
- Solution -「LOJ #150」挑战多项式 ||「模板」多项式全家桶
\(\mathcal{Description}\) Link. 给定 \(n\) 次多项式 \(F(x)\),在模 \(998244353\) 意义下求 \[G(x)\equiv\left\{ ...
- tip2:Linux系统相关命令使用
好记忆不如烂笔头,很多东西不常用突然要用就是记得相关的命令但是具体就不确定了,本文记录个人不常用同时偶尔用到但不确定或者记不住的内容. 一.用户管理 这组个人使用频率不高,知道同时记不住具体涉及的系统 ...
- 攻防世界--神奇的Modbus
使用Wireshark在数据包中寻找flag flag是明文形式存储wireshark输入modbus过滤并追踪tcp流追踪tcp流 得到结果:ctf{Easy_Modbus} (虽然在wiresha ...
- ctf平台
CTF靶场 蓝鲸安全:http://whalectf.xin bugku:https://ctf.bugku.com XCTF攻防世界:https://adworld.xctf.org.cn/ i春秋 ...
- 深度测评,商业智能BI、报表工具谁更好用?
在很多人入门数据分析师或者投身大数据行业的时候,必然会听到的两个词就是"报表工具"和"BI商业智能"."BI"一词已被更广泛地知晓,但提起B ...
- 2021年国内BI厂商推荐_大数据分析工具
随着互联网大数据时代的不断发展,BI让企业的工作效率变得更高效.BI的功能也随着需求的增长不断地丰富,例如,数据可视化大屏.可视化表格.商业化数据分析.数据地图等.国外的厂商在很多场景下无法满足国内的 ...
- windows消息机制框架原理【简单版本】
windows消息机制框架原理 结合两张图理解 窗口和窗口类 Windows UI 应用程序 (e) 具有一个主线程 (g).一个或多个窗口 (a) 和一个或多个子线程 (k) [工作线程或 UI 线 ...
- 【C#基础概念】Ineterface 接口的设计原则
接口设计方式 自顶向下 (如图所示),自底向上(发现类需要结构了就声明一个接口). 接口的作用 用来解耦.继承 接口的本质
- 【C# 基础概念】表达式(expression)、语句(statement)、块(block),指令(using)
官方链接:https://docs.microsoft.com/zh-cn/dotnet/csharp/programming-guide/statements-expressions-operato ...
- linux光盘使用、rpm软件包、yum软件仓库安装使用
转至:https://blog.51cto.com/zpeng/1532520 一.光盘文件使用 1,RHEL5(x86_64)光盘结构 Cluster //集群二进制包 C ...