一.原理+安装

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. JZOJ 3494. 【NOIP2013模拟联考13】线段(segment)

    题目 数轴上有很多单位线段,一开始时所有单位线段的权值都是 \(1\).有两种操作,第一种操作将某一区间内的单位线段权值乘以 \(w\),第二种操作将某一区间内的单位线段权值取 \(w\) 次幂.并且 ...

  2. 题解 P4448

    如果这不是一道原题,这道题出的还不错,是个比较毒瘤的数数.由于我太菜了反正我自己没有做出来后面的 dp,zyf 巨佬教的. 不过听说合肥六中某巨佬当年也没做出来,平衡了雾 但问题是这道题是原题,我安徽 ...

  3. 脊柱关节病外周关节滑膜高表达的RANK/RANKL/OPG系统与炎症呈部分分离

    脊柱关节病外周关节滑膜高表达的RANK/RANKL/OPG系统与炎症呈部分分离Vandooren B, et al. Arthritis Rheum. 2008;58:718-729目的:脊 柱关节病 ...

  4. PostgreSQL 并行计算算法,参数,强制并行度设置

    一.优化器并行计算的并行度计算方法 1.总worker进程数 postgres=# show ; max_worker_processes ---------------------- 128 (1 ...

  5. WeNet调试

    运行: 参照:markdown 问题: CMake Error: Error: generator : Ninja Ninja:提高构建速度 wenet/runtime/libtorch/fc_bas ...

  6. WebForm发布IIS后,报错无谓词错误

    需要在Config文件中添加默认页面 <system.webServer> <defaultDocument> <files> <add value=&quo ...

  7. MyCat2 分表分库

    1.添加数据库.存储数据源 我们在读写分离那边已经生成过,不需要在执行,如果没有执行过,执行下面注解,我们这边重新创建一个数据库db1 /*+ mycat:createDatasource{ &quo ...

  8. Spanve:一种检测大规模空间转录组学数据中空间变异基因的有效统计方法

    文章题目 Spanve: an Effective Statistical Method to Detect Spatially Variable Genes in Large-scale Spati ...

  9. python判断文件后缀名

    endswith()方法 利用文件名或路径名对文件后缀进行判断,例如对文件名后缀是否为.jpg的文件进行判断. path = "file.jpg" bool = path.ends ...

  10. 四大组件之广播接收者BroadcastReceiver

    参考:Android开发基础之广播接收者BroadcastReceiver 什么是广播接收者? 我们小时候都知道,听广播,收听广播!什么是收听广播呢?打开收音机,调频就可以收到对应的广播节目了.其实我 ...