实施自动化需要的工具

adb

  1. Android控制工具,获取获取Android各种数据和控制,Appium会调起adb命令去执行Android设备
  2. adb命令参考 https://www.cnblogs.com/totoro-cat/p/9969445.html

Appium Desktop

  1. 内嵌了Appium Server和Inspector工具,可以帮我分析app
  2. 下载地址,建议版本不要太高,其实每个版本相差不是特别大

Appium Server

  1. Appium的核心工具

Appium Clients

  1. 各种语言的封装库,用于连接appium server

Appium Desktop

安装

从官网下载桌面版本直接安装即可https://github.com/appium/appium-desktop/tags

主要功能

  • UI 分析
  • 录制用例
  • 元素查找测试
  • Attach 已有的 session
  • 云测试

操作步骤

  1. appium默认端口4327
  2. 在启动appium前,先点击edit configuration, 看你的java环境android_home环境是否配置,如果配置好,则appium会自动识别(怎么配置可以看上一篇,也可以自己百度,网上很多)

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

  5. 在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
  6. 点击start session

Appium server安装

  1. 安装nodejs,LTS版本,版本不能太高,我电脑安装了v12.18.3
root@iZuf6aygpm6zxxzuh3am6vZ:~# node -v
v12.18.3
  1. 安装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
  1. 需要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

简单的测试脚本

  1. 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的更多相关文章

  1. 移动端自动化测试之Appium实战

    软件工程的趋势:目前大部分企业的软件研发模式是持续交付,而自动化是持续交付的根基,而且不仅仅是测试要自动化,所有的环节都在自动化,自动化是未来的方向这一点已成为行业共识. 之前咱们已经讲过了AppCr ...

  2. 2017春 前端自动化(二) 页面自动刷新、sass与css转换的使用、pxToRem直观转换

    2017春 前端自动化(二)   页面自动刷新.sass与css转换的使用.pxToRem直观转换 引言:   此文要演示:浏览器页面自动刷新:移动端px与rem的转换,简单直观化:使用sass自动生 ...

  3. 二 APPIUM Android自动化 环境搭建

    1.安装JAVA运行环境   2.安装Android开发环境   3.安装nodejs 下载地址:https://nodejs.org/en/ 下载完成之后双击安装.   4.安装APPIUM,App ...

  4. 二 APPIUM Android自动化 测试初体验

    本文转自:http://www.cnblogs.com/sundalian/p/5629358.html 1.创建一个maven项目 成功新建工程: 编辑pom.xml,在<dependenci ...

  5. android自动化(appium)

    目录 一.Appium环境搭建 1.下载nodejs,并安装 2.下载appium,并安装 3.安装python.安装pip.安装appium 4.安装java的jdk 5.安装andriod的sdk ...

  6. App 自动化,Appium 凭什么使用 UiAutomator2?

    1. UiAutomator2 是什么 可能很多人对 UiAutomator2 和 UiAutomator 傻傻分不清楚 UiAutomator 是 Google 开发的一款运行在 Android 设 ...

  7. 自动化-Appium

    1.手把手教你 Android 标准 APP 的四大自动化测试法宝:https://testerhome.com/topics/5846 2.中文 Appium API 文档:https://test ...

  8. 自动化:Appium运行成功,取得一个小的胜利

    看过乙醇大神的博文,然后又看了一些大神的博文,自己陆陆续续的折腾了一个月,今天上午的时候,appium终于跑起来了.纪念下,在自动化路上取得的一个小胜利 Appium版本:1.2 Python版本:2 ...

  9. Appium自动化测试之Appium的安装与配置

    Appium自动化测试- Appium环境的安装与配置Appium中文文档: https://github.com/appium/appium/tree/master/docs/cn Appium的安 ...

  10. android自动化之appium的环境搭建

    简介appium     appium是C/S架构,appium的核心是一个web服务器,它提供了一套REST的接口,他会接收客户端的连接,监听到命令.执行会再将结果通过HTTP响应返还给客户端.ap ...

随机推荐

  1. linux配置java

    https://www.cnblogs.com/zeze/p/5902124.html

  2. 安装npm全局包提示没有写入权限: npm WARN checkPermissions Missing write access to /usr/local/lib/node_modules

    方法一 安装npm全局包提示没有写入权限: npm WARN checkPermissions Missing write access to /usr/local/lib/node_modules ...

  3. C语言函数的学习

    0x01.函数 这节就先讲函数吧,函数大致分为四种类型 1.无参数.无返回值的函数格式 void 函数名() { //代码段 } void Hello() { printf("Hello W ...

  4. SP1772 Find The Determinant II

    题意 \(T\) 组数据,每组给定两个整数 \(n,k\),求 \(\det A\),其中 \(A\) 为一个 \(n\times n\) 的矩阵且 \(A_{i,j}=\gcd(i,j)^k\),对 ...

  5. Java学习的第四十三天

    1.例5.1数组元素的引用 public class cjava { public static void main(String[] args) { int i; int []a=new int[1 ...

  6. Java学习的第三十二天

    1. 2.综合例题没太看懂 3.明天复习第十二章

  7. python机器学习实现K-近邻算法(KNN)

    机器学习 K-近邻算法(KNN) 关注公众号"轻松学编程"了解更多. 以下命令都是在浏览器中输入. cmd命令窗口输入:jupyter notebook 后打开浏览器输入网址htt ...

  8. SQLServer连接cache数据库

    开始文章之前首先要了解一下什么是Caché数据库. Caché数据库是美国Intersystems公司产品,后关系型数据库(Post Relational database)中的领头羊.Caché数据 ...

  9. C++实现RTMP协议发送H.264编码及AAC编码的直播软件开发音视频

    RTMP(Real Time Messaging Protocol)是专门用来传输音视频数据的流媒体协议,最初由Macromedia 公司创建,后来归Adobe公司所有,是一种私有协议,主要用来联系F ...

  10. 《为研发同学定制的MySQL面试指南》-- 连载中

    Hi大家好,我是来自博客园的赐我白日梦! 为大家带来MySQL面试专题!全文110篇!以问答的方式,由浅入深的帮你应对各类MySQL面试题的狂轰滥炸!当然也不乏会分享一些高阶读写分离数据库中间件原理及 ...