前言

帮助零基础小白一步步搭建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安装及环境变量配置

  1. 下载android-sdk

    链接:https://pan.baidu.com/s/1Zcr35JmDzBUfYi7KGPNwSg

    提取码:ss11

    上述下载的工具为免安装版,可以放到任意位置,找到工具目录中里面有个SDK manager.exe双击打开,

勾选你要下载的API版本和对应的android版本,然后直接下载就可以了。

也可以不选择安卓api,使用其他模拟器也可,如雷神、夜神等。

  1. 环境变量配置

    与java配置一样,新建ANDROID_HOME,然后配置绝对路径

    path中配置对应工具路径: 将%ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools;加入环境变量Path中;

    验证 Android SDK是否配置成功,win+r cmd打开命令行窗口,在命令行窗口中输入adb –-version

Node.js安装及环境配置

  1. 下载地址:https://nodejs.org/en/

  2. 安装及环境配置

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

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

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

appium安装

方式一:

  1. 下载地址:

  2. 下载安装后可直接运行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. 运行脚本

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

可能遇到的问题

  1. 运行脚本时报sdk缺少apksigner.jar

解决方法:

apksigner.jar的依赖包下载链接:https://pan.baidu.com/s/1laAVkrn2qxcha3FvIX-GMQ

提取码:ss11

下载放到sdk-platform-tools中即可

  1. adb devices返回127.0.0.1:5555 offline

    原因:adb连接安卓模拟器状态时,再次重启时模拟器,会再次出现一个adb.exe进程,此时会出现多了一个127.0.0.1:5555 offline

    解决方法:

    重启adb,使用此命令: adb kill-serveradb start-server

【自动化基础】手把手教零基础小白搭建APP的UI自动化环境的更多相关文章

  1. 手把手教你用vue-cli搭建vue项目

    手把手教你用vue-cli搭建vue项目 本篇主要是利用vue-cli来搭建vue项目,其中前提是node和npm已经安装好,文章结尾将会简单提到一个简单的例子.使用vue-cli搭建项目最开始我也是 ...

  2. 手把手教你使用 VuePress 搭建个人博客

    手把手教你使用 VuePress 搭建个人博客 有阅读障碍的同学,可以跳过第一至四节,下载我写好的工具包: git clone https://github.com/zhangyunchencc/vu ...

  3. 手把手教你用Python搭建自己的量化回测框架【均值回归策略】

    手把手教你用Python搭建自己的量化回测框架[均值回归策略] 引言 大部分量化策略都可以归类为均值回归与动量策略.事实上,只有当股票价格是均值回归或趋势的,交易策略才能盈利.否则,价格是随机游走的, ...

  4. 手把手教你认识并搭建Nginx

    手把手教你认识并搭建Nginx Nginx (“engine x”) 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器. Nginx 是由 Igor ...

  5. 沉淀,再出发——手把手教你使用VirtualBox搭建含有三个虚拟节点的Hadoop集群

    手把手教你使用VirtualBox搭建含有三个虚拟节点的Hadoop集群 一.准备,再出发 在项目启动之前,让我们看一下前面所做的工作.首先我们掌握了一些Linux的基本命令和重要的文件,其次我们学会 ...

  6. 手把手教你用webpack3搭建react项目(开发环境和生产环境)(一)

    开发环境和生产环境整个配置源码在github上,源码地址:github-webpack-react 如果觉得有帮助,点个Star谢谢!! (一)是开发环境,(二)是生产环境. 一.首先创建packag ...

  7. SpringCloud学习之手把手教你用IDEA搭建入门项目(三)

    本篇博客是承接上一篇<手把手教你用IDEA搭建SpringCloud入门项目(二)>,不清楚的请到我的博客空间查看后再看本篇博客,上面两篇博客成功创建了一个简单的SpringCloud项目 ...

  8. SpringCloud学习之手把手教你用IDEA搭建入门项目(二)

    本篇博客是承接上一篇<手把手教你用IDEA搭建SpringCloud入门项目(一)>,不清楚的请到我的博客空间查看后再看本篇博客 1)先创建一个Eureka服务注册中心模块,用来作为服务的 ...

  9. SpringCloud学习之手把手教你用IDEA搭建入门项目(一)

    SpringCloud简单搭建 jdk:1.8开发工具:IDEA注:需要了解springcloud 1.创建最简单的Maven项目 1)开始创建一个新的项目 ​ 2)创建一个空模板的maven项目,用 ...

随机推荐

  1. Solution -「LOCAL」大括号树

    \(\mathcal{Description}\)   OurTeam & OurOJ.   给定一棵 \(n\) 个顶点的树,每个顶点标有字符 ( 或 ).将从 \(u\) 到 \(v\) ...

  2. fork_join

    在systemverilog中可以用fork-- join.fork --join_any.fork--join_none来实现多个线程的并发执行. 1.父线程.子线程 调用fork--join的线程 ...

  3. 【性能测试实战】jmeter + k8s + 微服务 + skywalking + efk,测试都在学的热门技术

    原文持续更新完善:https://www.cnblogs.com/uncleyong/p/15475614.html 前言:当前的热门主流技术是哪些?测开为啥那么火?90%以上的测试对测开认识不准确 ...

  4. kafka在linux下安装

    简介 Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据. 相关术语(参考百度百科) Broker Kafka集群包含一个或多个服务器,这种服务器被称为brok ...

  5. [旧][Android] 布局优化

    备注 原发表于2016.05.21,资料已过时,仅作备份,谨慎参考 前言 最近在编写布局时,发现这一块是有很多值得深入学习的地方的.毕竟应用开发,界面展示是十分重要的部分.另外在开发时,为自己的代码做 ...

  6. 【C# 异常处理】StackTrace 堆栈跟踪

    作用 在使用.NET编写的代码在debug时很容易进行排查和定位问题,一旦项目上线并出现问题的话那么只能依靠系统日志来进行问题排查和定位,但当项目复杂时,即各种方法间相互调用将导致要获取具体的出错方法 ...

  7. 3rd S-curve velocity profile

    3rd S-curve  (1) (2) (3) (4) 完整的三次S曲线包括上面的七个阶段.前面三个阶段为加速阶段,从初始速度Vs加速到Vmax: (5) 整个加速阶段的位移为: (6) 后面三个阶 ...

  8. oj教程--坑

    1.OJ判断是只看输出结果的. 2.纯字符串用puts()输出. 3.有很多数学题是有规律的,直接推公式或用递归.循环. 4.擅用三目运算符 5.将乘法转换成加法减少时间 6.空间换时间 7.数组越界

  9. tensorflow_keras_预训练模型_Applications接口的使用

    在很多复杂的计算机视觉问题上,我们需要使用层次相对较深的卷积神经网络才能得到好结果,但是自己从头去构建卷积神经网络是一个耗时耗力的事情,而且还不一定能训练好.大家通常用到最多的技巧是,使用" ...

  10. 矩池云 | 教你如何使用GAN为口袋妖怪上色

    在之前的Demo中,我们使用了条件GAN来生成了手写数字图像.那么除了生成数字图像以外我们还能用神经网络来干些什么呢? 在本案例中,我们用神经网络来给口袋妖怪的线框图上色. 第一步: 导入使用库 fr ...