【移动自动化】【二】Appium
实施自动化需要的工具
adb
- Android控制工具,获取获取Android各种数据和控制,Appium会调起adb命令去执行Android设备
- adb命令参考 https://www.cnblogs.com/totoro-cat/p/9969445.html
Appium Desktop
- 内嵌了Appium Server和Inspector工具,可以帮我分析app
- 下载地址,建议版本不要太高,其实每个版本相差不是特别大
Appium Server
- Appium的核心工具
Appium Clients
- 各种语言的封装库,用于连接appium server
Appium Desktop
安装
从官网下载桌面版本直接安装即可https://github.com/appium/appium-desktop/tags
主要功能
- UI 分析
- 录制用例
- 元素查找测试
- Attach 已有的 session
- 云测试
操作步骤
- appium默认端口4327
- 在启动appium前,先点击edit configuration, 看你的java环境android_home环境是否配置,如果配置好,则appium会自动识别(怎么配置可以看上一篇,也可以自己百度,网上很多)

- 点击start server
- 打开appium server, 我们可以看到当前环境占用4723端口,点击inspection分析

- 在Desired Capabilities输入一下的信息,这些都是必填项的(我这边模拟器已经提前安装了app, 你也可以添加app参数,指定app地址)参数参考地址https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/caps.md
platformName: 需要测试的设备android or ios
deviceName: 这个可以随意命名
appPackage:app包名
appActivity:app启动activity - 点击start session

Appium server安装
- 安装nodejs,LTS版本,版本不能太高,我电脑安装了v12.18.3
root@iZuf6aygpm6zxxzuh3am6vZ:~# node -v
v12.18.3
- 安装Appium,因为特殊原因可能装不上,所以要换淘宝镜像
root@iZuf6aygpm6zxxzuh3am6vZ:~# npm install -g cnpm --registry=https://registry.npm.taobao.org
root@iZuf6aygpm6zxxzuh3am6vZ:~# cnpm install -g appium@1.14.0
root@iZuf6aygpm6zxxzuh3am6vZ:~# appium -v
1.14.0
- 需要python2环境,安装python2
root@iZuf6aygpm6zxxzuh3am6vZ:~# python
Python 2.7.12 (default, Jul 21 2020, 15:19:50)
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
4.安装appium-doctor设置adb java android路径, 都出现绿色说明都配置好了,直接输入appium就启动服务了,
root@iZuf6aygpm6zxxzuh3am6vZ:~# npm install -g appium-doctor@1.14.0

简单的测试脚本
- chi/demo_1.py 前提安装依赖pip install Appium-Python-Client
from appium import webdriver
caps = {}
caps["platformName"] = "android"
caps["deviceName"] = "emulator-5554"
caps["appPackage"] = "com.shoumi.shoumi"
caps["appActivity"] = ".activity.startActivity"
caps["autoGrantPermissions"] = True
driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", caps)
driver.implicitly_wait(1000)
driver.quit()
【移动自动化】【二】Appium的更多相关文章
- 移动端自动化测试之Appium实战
软件工程的趋势:目前大部分企业的软件研发模式是持续交付,而自动化是持续交付的根基,而且不仅仅是测试要自动化,所有的环节都在自动化,自动化是未来的方向这一点已成为行业共识. 之前咱们已经讲过了AppCr ...
- 2017春 前端自动化(二) 页面自动刷新、sass与css转换的使用、pxToRem直观转换
2017春 前端自动化(二) 页面自动刷新.sass与css转换的使用.pxToRem直观转换 引言: 此文要演示:浏览器页面自动刷新:移动端px与rem的转换,简单直观化:使用sass自动生 ...
- 二 APPIUM Android自动化 环境搭建
1.安装JAVA运行环境 2.安装Android开发环境 3.安装nodejs 下载地址:https://nodejs.org/en/ 下载完成之后双击安装. 4.安装APPIUM,App ...
- 二 APPIUM Android自动化 测试初体验
本文转自:http://www.cnblogs.com/sundalian/p/5629358.html 1.创建一个maven项目 成功新建工程: 编辑pom.xml,在<dependenci ...
- android自动化(appium)
目录 一.Appium环境搭建 1.下载nodejs,并安装 2.下载appium,并安装 3.安装python.安装pip.安装appium 4.安装java的jdk 5.安装andriod的sdk ...
- App 自动化,Appium 凭什么使用 UiAutomator2?
1. UiAutomator2 是什么 可能很多人对 UiAutomator2 和 UiAutomator 傻傻分不清楚 UiAutomator 是 Google 开发的一款运行在 Android 设 ...
- 自动化-Appium
1.手把手教你 Android 标准 APP 的四大自动化测试法宝:https://testerhome.com/topics/5846 2.中文 Appium API 文档:https://test ...
- 自动化:Appium运行成功,取得一个小的胜利
看过乙醇大神的博文,然后又看了一些大神的博文,自己陆陆续续的折腾了一个月,今天上午的时候,appium终于跑起来了.纪念下,在自动化路上取得的一个小胜利 Appium版本:1.2 Python版本:2 ...
- Appium自动化测试之Appium的安装与配置
Appium自动化测试- Appium环境的安装与配置Appium中文文档: https://github.com/appium/appium/tree/master/docs/cn Appium的安 ...
- android自动化之appium的环境搭建
简介appium appium是C/S架构,appium的核心是一个web服务器,它提供了一套REST的接口,他会接收客户端的连接,监听到命令.执行会再将结果通过HTTP响应返还给客户端.ap ...
随机推荐
- 理解import声明 与 export声明
import的两种使用方法 import "mod"; // 引入一个模块 import v from "mod"; // 把模块默认的导出值放入变量 v im ...
- 备战noip week8
POJ1144 网络 description: 给出一张\(N\)个点的无向图,求其中割点的个数 data range: \(N\le 100\) solution: 一道模板题(但是读入实在是把我恶 ...
- JavaScript动态显示时间
<body> <div></div> <script> var div = document.querySelector('div'); retNowT ...
- [C#.NET 拾遗补漏]10:理解 volatile 关键字
要理解 C# 中的 volatile 关键字,就要先知道编译器背后的一个基本优化原理.比如对于下面这段代码: public class Example { public int x; public v ...
- 使用Guava RateLimiter限流入门到深入
前言 在开发高并发系统时有三把利器用来保护系统:缓存.降级和限流 缓存: 缓存的目的是提升系统访问速度和增大系统处理容量 降级: 降级是当服务出现问题或者影响到核心流程时,需要暂时屏蔽掉,待高峰或者问 ...
- Luogu P2173 [ZJOI2012]网络
题意 写的比较清楚,我就不解释了. \(\texttt{Data Range:}n\leq 10^4,m\leq 10^5,c\leq 10,k\leq 10^5\) 题解 注意到 \(c\) 的范围 ...
- P2868 [USACO07DEC]Sightseeing Cows G
题意描述 Sightseeing Cows G 给定一张有向图,图中每个点都有点权 \(a_i\),每条边都有边权 \(e_i\). 求图中一个环,使 "环上个点权之和" 除以 & ...
- 用GitHub Pages搭建博客(七)
本篇介绍百度统计.百度搜索 一般来讲,部署了一个网站后,我们需要知道网站的浏览量,以便知道网站是否有人访问. 在Jekyll的模板中,由于国外开发者更多,一般的主题默认都开发了谷歌统计(Google ...
- [MIT6.006] 18. Speeding up Dijkstra 加速Dijkstra算法
在之前的课我们讲过了Dijkstra算法,先回顾下,如下图: 那么如果加速DIjkstra算法寻找最短路径呢?这节课上讲师讲了两种方法:双向搜索(Bi-Directional Search)和目标方向 ...
- Linux杂谈: 实现一种简单实用的线程池(C语言)
基本功能 1. 实现一个线程的队列,队列中的线程启动后不再释放: 2. 没有任务执行时,线程处于pending状态,等待唤醒,不占cpu: 3. 当有任务需要执行时,从线程队列中取出一个线程执行任务: ...