一.原理+安装

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. 题解 TSP 但是你有约束

    Description 给定一张带权完全图,求一条路径满足 不重复经过一个点. 在过点 \(i\) 时,\(1\cdots i - 1\) 要么全访问过,要么都没有访问过. 点数 \(n\) 有 \( ...

  2. .NET依赖注入之一个接口多个实现

    前言 最近又在项目中碰到需要将原本单实现的接口改造成多个实现的场景,这里记录一下常见的几种改法. 假设已经存在如下接口ICustomService和其实现CustomService,由于只有一种实现, ...

  3. JSP 与 Servlet 之间的联系,及其语法

    JSP 是什么 JSP 将 Java 代码和特定变动内容嵌入到静态的页面中,实现以静态页面为模板,动态生成其中的部分内容.JSP 文件在运行时会被其编译器转换成更原始的 Servlet 代码.JSP ...

  4. Python实战项目6-后端多方式登录接口/手机登录接口

    为开源项目共享代码 步骤: 1先fork开源项目 2clone下来,修改代码,进行提交 3提交pr,等作者同意 Pycharm 使用Git 右键文件会列出Git命令 登录注册功能分析 多方式登录接口: ...

  5. 报错解决:DENIED Redis正在保护模式下运行

    DENIED Redis正在保护模式下运行,因为已启用保护模式,未指定绑定地址,也未向客户端请求身份验证密码.在此模式下,仅接受环回接口的连接.如果您想从外部计算机连接到Redis,您可以采用以下解决 ...

  6. Day 23 23.1:js加密算法

    js加密算法 逆向重点掌握的内容: 1.逆向的思维 2.网站逆向的分析思路和步骤 注意:重点不是放在代码中,而是分析的思路和套路(技巧) 逆向到底是什么? 通俗来讲,逆向就是处理爬虫过程中对于加密数据 ...

  7. 代码随想录 day0 博客怎么写

    前言 2.25日开始记录自己的博客生涯以及代码随想录训练营的每日内容 一.题目链接怎么找?怎么设置连接? 力扣题目链接1:力扣 二.正文怎么写? 二分查找 算法思路: 二分查找需要保证数组为有序数组同 ...

  8. 【面试题】JS 中这些继承方式你知道吗?

    携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第 29 天,点击查看活动详情 问题描述 继承 是基于面向对象的,使用 继承 可以让我们更好的复用以前开发的代码,缩短开发的周期.提 ...

  9. go iris框架文件上传下载

    在 Iris 框架中,可以使用内置的 iris 包中的 Context 对象来处理文件上传和下载.以下是一个简单的示例代码: package main import ( "github.co ...

  10. ROS多机通信

    嵌入式开发板端: export ROS_IP=`hostname -I | awk '{print $1}'`export ROS_HOSTNAME=`hostname -I | awk '{prin ...