一.原理+安装

https://blog.csdn.net/weixin_30624825/article/details/94803252

https://www.kancloud.cn/guanfuchang/python_appium/722900

Appium运行原理

Appium是一个开源的自动化框架,可用于测试原生APP,混合型APP和WEB APP。它通过WebDriver协议驱动iOS,Android和Windows系统app。

重要的是Appium是跨平台的,何为跨平台,意思就是可以针对不同的平台用一套api来编写测试用例。

如图所示,appium主要分为三个点:client端,server端,及移动设备

  • client端:用各类语言写的测试脚本
  • server端:我们安装appium工具的那部分,专门用来监听并接收来自client端的请求,转发请求并控制移动设备执行测试,默认开启并监听4723接口
  • 移动设备:支持三类设备,我们的最终目的:在设备上自动执行指定的操作

整个执行过程包括:

  1. 在某台服务器上安装appium工具(server端),开启进程(默认4723端口)监听;
  2. 编写测试脚本,放置到服务器上,执行该测试脚本(相当于发送命令给server端);
  3. 移动设备接收到server端发送过来的命令,执行指定的操作。

Appium 在 Android 上的架构


通过架构图,我们可以知道appium是基于WebDriver协议的,它利用Bootstrap调用google公布的android自动化测试框架UIautomator的命令来实现app自动化。

安装 java 运行环境

安装 java jdk+nodes


本书实例,使用jdk版本为:1.8.0_25,具体安装过程与环境变量设置,自行百度。

安装 android sdk

Android SDK提供给我们API库和开发工具构建,测试和调试应用程序,Android。简单来讲,Android SDK 可以看做用于开发和运行Android应用的一个软件。

使用Appium进行安卓APP自动化测试,需要安装sdk-tools、platform-tools与build-tools
官网下载地址:https://developer.android.com/

本书使用android sdk 已整合到百度云盘: android_sdk 直接下载解压到本地,然后配置环境变量即可。

  • 配置环境变量
    首先创建系统变量ANDROID_HOME

    然后在path中,添加%ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools;%ANDROID_HOME%\build-tools

  • 测试adb命令

C:\Users\Administrator>where adb
E:\android_sdk\platform-tools\adb.exe
C:\Users\Administrator>
C:\Users\Administrator>adb devices
List of devices attached

安装 android 模拟器

经过多个模拟器的使用测试,我推荐大家使用“雷电模拟器”,本书也主要使用“雷电模拟器”来进行开发与调试。
官网地址:http://www.ldmnq.com/
本书使用版本:ldinst_3.24.exe

安装后,启动模拟器,在cmd中用adb检查设备连接状态。

C:\Users\Administrator>adb devices
List of devices attached
emulator-5554 device

安装 appium 服务端

官方下载:http://appium.io/
本书使用 appium-desktop-setup-1.6.3.exe
安装后,启动appium,运行后如下:

安装 appium client library

pip install Appium-Python-Client

python中还需要安装
npm i -g appium-flutter-driver
npm install appium-doctor -g

pip install Appium-Flutter-Finder

 

第五步:安装模拟器(使用真机的用户,可以跳过此步骤)

本步骤中,选择夜神模拟器。

夜神模拟器官方网站下载地址:https://www.yeshen.com/

下载安装完成之后。桌面会有2个图标:夜神模拟器、夜神多开器。

夜神模拟器:默认安卓版本为4.4.2

夜神多开器:可以增加安卓5.1模拟器、安卓7.1模拟器。

在启动模拟器之前,替换模拟器安装路径当中的nox_adb.exe

第一步:将%ANDROID_HOME%\platform-tools目录下的adb.exe拷贝到桌面,更改名称为nox_adb.exe

第二步:将第一步中的nox_adb拷贝到夜神模拟器安装目录下,替换原来的文件。

再去启动夜神模拟器。然后在cmd命令行当中,输入命令:adb devices



ksfitappUI自动化(准备+安装环境)的更多相关文章

  1. Kickstart/Anaconda实现自动化安装原理探究

    原网页地址:http://molinux.blog.51cto.com/2536040/548247#55918... 内容概要:  1.  系统安装基本流程图示2.  Anaconda简介3.  K ...

  2. 细说Mysql四种安装方法及自动化部署

    一.简介 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库, 每个数据库都有一个或多个不同的API用于创建,访问,管理,搜索和复制所保存的数据. 我们也可以将数据存储在文件中,但是 ...

  3. python 自动化之路 day 05

    内容目录: 列表生成式.迭代器&生成器 装饰器 软件目录结构规范 模块初始 常用模块 1.列表生成式,迭代器&生成器 列表生成式 需求:列表[0, 1, 2, 3, 4, 5, 6, ...

  4. Linux自动化运维部署+运维

    自动化部署及配置(Cobbler/Kickstart) 红帽发布的网络安装服务器套件 Cobbler可以说是一大Linux装机利器,可以快速的建立网络安装环境,据说比Kickstart还要好用. 分布 ...

  5. Cobbler自动化部署最佳实践

    第1章 Cobbler自动化部署最佳实践 运维自动化在生产环境中占据着举足轻重的地位,尤其是面对几百台,几千台甚至几万台的服务器时,仅仅是安装操作系统,如果不通过自动化来完成,根本是不可想象的. 面对 ...

  6. python+selenium自动化软件测试(第1章):环境搭建,你也可以直接用Anaconda!

    1.1 环境搭建 1.1.1 selenium简介Selenium 是用于测试 Web 应用程序用户界面 (UI) 的常用框架.它是一款用于运行端到端功能测试的超强工具.您可以使用多个编程语言编写测试 ...

  7. Ubuntu & GitLab CI & Docker & ASP.NET Core 2.0 自动化发布和部署(2)

    上一篇:Ubuntu & GitLab CI & Docker & ASP.NET Core 2.0 自动化发布和部署(1) 服务器版本 Ubuntu 16.04 LTS. 本 ...

  8. jenkins部署.net平台自动化构建

    在引入自动化部署工具的时候,我们对比了jenkins和gitlab CI,jenkins有非常丰富的插件,配置起来方便.gitlab CI更倾向于脚本配置,当然jenkins也可以使用pipeline ...

  9. python基础1之 由来、种类、优缺点、安装环境

    python基础1之由来.种类.优缺点.安装环境 一.前世今生 Python的创始人是吉多·范罗苏姆(Guido van Rossum),在1989年开发.今年最新的编程语言排行榜中,python名列 ...

  10. SOAR SQL进行优化和改写的自动化工具

    前言 SQL优化是程序开发中经常遇到的问题,尤其是在程序规模不断扩大的时候.SQL的好坏不仅制约着程序的规模,影响着用户的体验,甚至威胁着信息的安全. 我们经常听到说哪家平台挂了,哪家网站被黑了,但我 ...

随机推荐

  1. ElasticSearch7.6入门

    笔记记录 B站狂神说Java的ElasticSearch课程:https://www.bilibili.com/video/BV17a4y1x7zq 一.ElasticSearch概述 官网:http ...

  2. 钓鱼攻击之:CHM电子书钓鱼

    钓鱼攻击之:CHM电子书钓鱼 目录 钓鱼攻击之:CHM电子书钓鱼 1 CHM简介 2 .Chm文件因何变得危险 3 CHM 后门的优点 4 利用过程 4.1 准备工具 4.2 制作恶意chm文件 4. ...

  3. pdf地址展示成Swiper轮播方式-复制链接

    1.安装vue-pdf插件,swiper插件.clipboard npm install vue-pdf -snpm install swiper -Snpm install clipborad -S ...

  4. 空间数据库中ST_开头的来由

    1. 引言 在使用空间数据库(如,PostGIS)时,我们经常使用的空间函数(如,ST_Distance(geometry, geometry).ST_Area(geometry)等)都是以ST_开头 ...

  5. 问题集锦 ~ MySQL

    # 在存储过程中,变量赋值失败 declare parent text; select parent into Parent where id = 1; select Parent; 查询的字段不能和 ...

  6. Mybatis-plus中通用mapper的CRUD(增、删、改、查)操作封装BaseMapper和IService(最详细)

    使用Mybatis的开发者,大多数都会遇到一个问题,就是要写大量的SQL在xml文件中,除了特殊的业务逻辑SQL之外,还有大量结构类似的增删改查SQL.而且,当数据库表结构改动时,对应的所有SQL以及 ...

  7. 手算推导BP神经网络

    一.神经元 下图的蓝色区域被称为一个"感知机"(Perceptron), 感知机是对信息进行编码.压缩.集成.融合的计算机智能接口系统. 说白了,就是在输入端输入X1~X7这7个输 ...

  8. C++用递归实现求解相关函数

    //递归实现Hanoi塔问题#include<iostream>#include<cstdlib>using namespace std;#define MAXSIZE 100 ...

  9. 挂上burpsuite代理之后显示505 HTTP Version Not Supported 解决方法

    505 HTTP Version Not Supported  什么意思呢? HTTP505状态码代表的意思是 服务器不支持的HTTP版本,即 HTTP 505 HTTP Version Not Su ...

  10. React Tree树形结构封装工具类

    需要依赖 immutable,用于group by分组 buildTree 为入口方法,注意返回的是Immutable.List对象,使用需要调用.toJS()方法转为普通对象 其中 creatNod ...