【移动自动化】【二】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 ...
随机推荐
- Mysql JDBC-mysql-Driver queryTimeout分析
Mysql jdbc的queryTimeout分析 Mysql的jdbc-driver com.mysql.jdbc.Driver 设置queryTimeout方法 com.mysql.jdbc.St ...
- Tomcat8升级后URL中特殊字符报错出现原因
请求带上花括号等字符,请求无法送达服务端,报错: Failed to load resource: the server responded with a status of 400 () https ...
- 如果在Yii中,使用AR查询,不直接写sql,则在使用的时候会报错
如果在Yii中,使用AR查询,不直接写sql,则在使用的时候会报错 Student::find() ->select("id,name,from_unixtime(create_tim ...
- [Luogu P3959] 宝藏 (状压DP+枚举子集)
题面 传送门:https://www.luogu.org/problemnew/show/P3959 Solution 这道题的是一道很巧妙的状压DP题. 首先,看到数据范围,应该状压DP没错了. 根 ...
- linux查看日志的几种方法
linux 日志查看 tail.head. cat.tac.sed.less.echo 1.命令格式: tail [必要参数] [选择参数] [文件] -f 循环读取 -q ...
- C语言重点——指针篇(一文让你完全搞懂指针)| 从内存理解指针 | 指针完全解析
有干货.更有故事,微信搜索[编程指北]关注这个不一样的程序员,等你来撩~ 注:这篇文章好好看完一定会让你掌握好指针的本质 C语言最核心的知识就是指针,所以,这一篇的文章主题是「指针与内存模型」 说到指 ...
- XJOI NOIP501/511训练22 ttt学字符串
ttt学字符串 题目大意 大法师ttt 最近在学习字符串,有一天他看到魔力xtx左手拿着A字符串,右手拿着B字符串,两个字符串的长度都是一样的,而且都由abc三种字符构成,大法师ttt的灵力值为C,现 ...
- c++11-17 模板核心知识(三)—— 非类型模板参数 Nontype Template Parameters
类模板的非类型模板参数 函数模板的非类型模板参数 限制 使用auto推断非类型模板参数 模板参数不一定非得是类型,它们还可以是普通的数值.我们仍然使用前面文章的Stack的例子. 类模板的非类型模板参 ...
- NodeJs 加入Windows开机自启动服务
首先需要到http://nssm.cc/download/?page=download 下载 nssm,下下来之后是压缩包形式的解压之后,在命令行模式下进入到nssm的目录.之后运行:nssm ins ...
- linux中配置yum文件
yum简介:yum的宗旨是自动化地升级,安装/移除rpm包,收集rpm包的相关信息,检查依赖性并自动提示用户解决. yum的关键之处是要有可靠的repository,顾名思义,这是软件的仓库,它可以是 ...