2020,6招玩转 Appium 自动化测试
Appium是个什么鬼
Appium是一个移动端的自动化框架,可用于测试原生应用,移动网页应用和混合型应用,且是跨平台的。可用于IOS和Android以及firefox的操作系统。原生的应用是指用android或ios的sdk编写的应用,移动网页应用是指网页应用,类似于ios中safari应用或者Chrome应用或者类浏览器的应用。混合应用是指一种包裹webview的应用,原生应用于网页内容交互性的应用。
重要的是Appium是跨平台的,何为跨平台,意思就是可以针对不同的平台用一套api来编写测试用例。
Appium环境搭建
先把一下环境装好备用
打开Appium 应用程序,点击3监测一下环境

红色框框代表iOS测试所需要的,绿色代表安装成功

开战实际项目开发
自动化测试项目搭建
- .zip 是.app的压缩文件,当然你也可以直接用XXX.app (xcode编译项目,Products目录下有XXX.app)
- common 里包含着测试公用的.rb文件
- gemfile 所需的gem包
spec 文件包含所有模块的测试rb文件

模拟器运行项目
配置appium
- APP路径要对
- 设备模拟器和版本匹配要对
红框内必选(boudleID也可以不写)

配置完点击=> 问号(inspector) 弹出inspector 视图元素检查页面




点击完Record

对于如何编写测试代码,两种方式,一种你可以直接在页面区操作页面,同时在代码区生成测试代码(此代码是利用xpath遍历定位元素,效率不高).另一种是用appium提供的定位元素方法编写测试代码。
如果弹 不出此页面,你可以尝试
- 更换server address : 127.0.0.1
- 检查打包的.app文件是否为开发证书编译
- 检查当前xcode的模拟器和当前选择的设备是否一致
- 如果还不行,请尝试更换.app
.rb怎么写?
可能有些小白读到这里还是不知道该如何下手,这里我已经基本的框架搭建完成,供大家小试.
appium demo
启动appium 测试
- 要 开启服务
- 要 rspec 执行命令
- 然后模拟器就会自动开启执行你rspec里所有的.rb文件
总结
这里面的坑,还有很多.多去testhome里看看,appium提供的方法很多,这是一个要花费很多时间去尝试的经历.重要的元素定位方法,测试用例的编写,ruby语言的了解,如果以上都完成了,那你就可以去了解如何用Jenkins部署项目自动化测试了~
以上内容就是本篇的全部内容以上内容希望对你有帮助,有被帮助到的朋友欢迎点赞,评论。
2020,6招玩转 Appium 自动化测试的更多相关文章
- 全网最全最细的appium自动化测试环境搭建教程以及appium工作原理
一.前言 对于appium自动化测试环境的搭建我相信90%的自学者都是在痛苦中挣扎,在挣扎中放弃,在放弃后又重新开始,只有10%的人,人品比较好,能够很快并顺利的搭建成功.appium 自动化测试 ...
- 《11招玩转网络安全》之第五招:DVWA命令注入
首先还是将DVWA的安全级别设置为Low,然后单击DVWA页面左侧的Command Injection按钮. 图5-1 Low级别的命令注入 这个就是最典型的命令注入接口.在文本框中输入一个IP ...
- 《11招玩转网络安全》之第四招:low级别的DVWA SQL注入
以DVWA为例,进行手工注入,帮助读者了解注入原理和过程. 1.启动docker,并在终端中执行命令: docker ps -a docker start LocalDVWA docker ps 执行 ...
- 《11招玩转网络安全》之第三招:Web暴力破解-Low级别
Docker中启动LocalDVWA容器,准备DVWA环境.在浏览器地址栏输入http://127.0.0.1,中打开DVWA靶机.自动跳转到了http://127.0.0.1/login.php登录 ...
- 《11招玩转网络安全》之第一招:Docker For Docker
玩转黑客那些工具,缺少了虚拟机怎么行,除了用虚拟机虚拟整个系统,Docker也不能缺少,读者只需要知道,Docker只虚拟Linux系统中的某个程序就可以了.本节就来介绍Linux下安装设置Docke ...
- 11招玩转黑客攻防——用Python,更安全
Python真是无所不能,学习Python,一个暑假就够了 !! 入门Python,从黑客入手最好玩.最简单 !! 今天就推荐一本书<11招玩转网络安全——用Python,更安全> 内网攻 ...
- Appium自动化测试3之获取apk包名和launcherActivity后续
接着“Appium自动化测试3之获取apk包名和launcherActivity”章节介绍 测试脚本 1.测试脚本如下: # -*- coding:utf-8 -*- import os, time, ...
- 记安卓appium自动化测试实践
一.软件安装 1. 安装node.js,安装路径D:\Program Files\nodejs\ 可以在官网下载https://nodejs.org/zh-cn/download/,版本号为node- ...
- 你的第一个自动化测试:Appium 自动化测试
前言: 这是让你掌握 App 自动化的文章 一.前期准备 本文版权归作者和博客园共有,原创作者:http://www.cnblogs.com/BenLam,未经作者同意必须在文章页面给出原文连接. 1 ...
随机推荐
- PHP mysqli_stmt_init() 函数
初始化声明并返回 mysqli_stmt_prepare() 使用的对象: <?php 高佣联盟 www.cgewang.com // 假定数据库用户名:root,密码:123456,数据库:R ...
- Echarts饼图绘制
实现效果: html代码: <div id="chartBody1" style="width:120%;height:28vh;"> <di ...
- Python selenium 三种消息框处理和浏览器(页面跳转)句柄处理
1. alert: 警告框,只是一个提示信息,只有一个确定按钮,起提示用户的作用: 2.confirm: 确认框,确定和取消按钮会带来不同的结果.点击确定会执行操作,点击取消按钮会取消操作: 3.pr ...
- 面试题:JVM 堆内存溢出后,其他线程是否可继续工作?
来源:http://sina.lt/gqaM 最近网上出现一个美团面试题:“一个线程OOM后,其他线程还能运行吗?”.我看网上出现了很多不靠谱的答案.这道题其实很有难度,涉及的知识点有jvm内存分配. ...
- 什么是DO,DTO,VO,POJO
俗话说,没有规矩不成方圆,今天来说一下 Java 中的各种 O(bject). 为什么会出现这些 O? 我们知道,这些 O 不管叫什么名字,其本质都还是对象(Object),既然本质都一样,为什么非要 ...
- Android SQLite轻量级数据库(简单介绍)
SQLite它是相当于嵌入到安卓里的一个小数据库吧, 它也可以使用SQL语句进行数据库的增删改查操作,但是是SQL1992的语句. 然后SQLite也有自己的语句,但是学过SQL的应该都会发现,它比较 ...
- day26:装饰器
装饰器 1.装饰器 : 为原函数去扩展新功能,用新函数去替换旧函数 2.作用 : 在不改变原代码的前提下,实现功能上的扩展 3.符号 : @(语法糖) 1.装饰器的基本用法 # 1.装饰器的基本用法 ...
- Linux内核之 进程调度
上一篇我们提到过进程状态,而进程调度主要是针对TASK_RUNNING运行状态进行调度,因为其他状态是不可执行比如睡眠,不需要调度. 1.进程调度概念 进程调度程序,简称调度程序,它是确保进程能有效工 ...
- 通过实际案例摸清楚Spring事务传播的行为
@ 目录 事务传播 案例准备 案例解析 1.无事务 2. Propagation.REQUIRED 3. Propagation.SUPPORTS 4. Propagation.MANDATORY 5 ...
- HBA卡常用命令
HBA卡信息查看 查看对应的PCI设备lspci | grep LSI 如下:对应的HBA卡命令为sas3ircu 如下:对应的HBA卡使用sas2ircu 查看LSI控制器类型和型号 sas2irc ...