[金阳光测试]IOS 自动化测试
第一讲
一 自备能力
1、熟悉js脚本(必须)
2、会常用的linux命令(必须)
3、英文能力(必须)
4、熟悉java(必须)
5、会一点点shell和python
6、会一些oc和IOS开发
二必备硬件
1、mac(必须)
2、iphone或者ipad(必须)
三 软件环境
1、Mac OS X 10.8.x 以上(必须)
2、开发者证书+密钥 (或者企业级证书)
3、Xcode5.0以上(必须)
4、python2.5-2.7版本(系统自带)
5、TuneUp(必须)
https://github.com/alexvollmer/tuneup_js
写出来的脚本需要通过TuneUp来封装
6、FruitStrap(必须)
安装app
7、淘宝Athrun&&InstrumentDriver
8、subLime(一种文本编辑器)
(已阅)
******************
第二讲
一 启动instruments
1,Xcode-Open Developer Tools - instruments
2,双击-右键-open developer tools
UIATarget.localTarget().delay(2)
com +Shift +h 可使simulator回到桌面
pwd :显示当前目录
二、UIAutomation介绍
1、AutoMating UI Testing
2、Writing Test Script(JS)
3、Accessing Manipulating UI Elements (by label)
4、Displaying the Element Hierachy
seleium8种识别UI控件的方法
by path by tag by label by text by id 等
第三讲
一、 App编译的各种版本
1、Debug版本
2、Release
3、存放路径
build-products-
4、App . ipa文件
二、被测app部署到IOS设备
1、用工具部署App的原因:签名一致
手机上的app与电脑上的app签名要一致
2、FruitStrap
https://github.com/ghughes/fruitstrap
用于非源代码测试
自动化对比专项测试
cat README.md
fruitstrap [-d] -b <app> [device_id]
xcode-window -organizer- 设备id
先通过makefile编译成可执行文件 fruitstrap
3、命令:./FruitStrap -b <appPath>
选debug版本,因为没有证书
./fruitstrap -b ../BaiduIphoneVideo_debug.app/
三、课下作业
1、熟悉Terminal终端命令行
2、会部署App (已试验)
3、试着用Xcode5.x编译App
****************
第四讲Monkey
一网上通用方法
1,MonkeyTalk(FoneMonkey)
需要被测App源代码
http://huaban.com/pins/56994829/
2,优点:算法优良、部署方便、稳定性高
缺点:需要源代码,实际工作中局限性大
二Monkey小工具编写源码分析
1、不需要被测App源码
2、原理:启动Instruments
https://github.com/jonathanpenn/ui-auto-monkey
3、模拟器和真机分辨率判断函数
4、随机生成坐标函数
5、事件函数
第六讲 Athrun框架
一、Athrun 理论介绍(????)
1、操作扩展
主要是稳定性上面的,如 tap操作增加 轮询元素查找。还包括便利性的扩展,如UIAPicker 的选取与展示。
2、校验扩展
提供更加丰富的效验功能,及效验出错提示。
3、Log转Hudson
将UIAutomation 执行后的plist 结果文件,转换成hudson认识的格式。方便持续继承里的展现。
二 、 淘宝 Athrun 源码:
http://code.taobao.org/p/athrun/log/273/
http://code.taobao.org/p/athrun/src/
用svn下载: http://code.taobao.org/svn/athrun/trunk
对于代码:
封装的好处:规范
RunScript.sh需要更改为本机路径地址
scripts.sh 生成用例的模版
oneCmd="/usr/bin/instruments -t.... "
三、Athrun框架使用
环境搭建:
A、解压缩就可以使用
B、生成可以执行模板的2种方法
a、用淘宝的Script生成
b、用Instruments 生成
四、课下作业
1、了解Athrun 框架原理
2、会用真机进行Athrun自动化测试
[金阳光测试]IOS 自动化测试的更多相关文章
- InstrumentDriver,对iOS自动化测试说 Yes!
InstrumentDriver 是 Mobile自动化小组最近实现的基于 instrument,针对 iOS 的自动化测试框架,目前支持 java 语言编写测试用例. 研究过iOS自动化测试的同学肯 ...
- mac上搭建appium+IOS自动化测试环境(二)
上一篇: mac上搭建appium+IOS自动化测试环境(一) 9.安装appium-xcuitest-driver依赖 进入WebDriverAgent安装目录,运行bootstrap 首先进入目录 ...
- appium ios 自动化测试
iOS自动化测试:Appium 从入门到实践https://www.jianshu.com/p/43f858180557appium自动化测试iOS Demohttps://www.jianshu.c ...
- 【Mac + Appium + Python3.6学习(三)】之IOS自动化测试环境配置
在做这一节之前先配置我的另一篇文章所需要安装的前提准备条件:<[Mac + Appium学习(一)]之安装Appium环境前提准备> 一.安装IOS自动化测试环境 配置环境: Appium ...
- iOS自动化测试的那些干货
前言 如果有测试大佬发现内容不对,欢迎指正,我会及时修改. 大多数的iOS App(没有持续集成)迭代流程是这样的 也就是说,测试是发布之前的最后一道关卡.如果bug不能在测试中发现,那么bug就会抵 ...
- 【金阳光測试】基于控件核心技术探讨---Android自己主动化系列(2)---2013年5月
第一讲分享了下安卓自己主动化一些概况和一些自己主动化框架现状和技术可以解决什么样的问题. 这次课就深入到android世界里面.遨游.翱翔.深入了解自己主动化測试核心技术. 搞过编程开发的同学听到in ...
- 14- 小程序测试与airtest自动化测试
什么是小程序 小程序是一种不需要下载安装即可使用的应用,它实现了应用"触手可及"的梦想,用户扫一扫或者搜一下即可打开应用.也体现了"用完即走"的理念,用户不用关 ...
- iOS自动化测试驱动工具探索
本文主要介绍了字节 iOS 自动化测试驱动工具的探索过程及实现原理 作者:字节跳动终端技术--陈友辉 一.背景 随着业务的扩张,单个 App 的功能越来越多,工程复杂度越来越高,每天MR可达上百次,代 ...
- 图像显示 imshow()[OpenCV 笔记5]
void imshow(const string& winname InputArray mat); winname 窗口表识名称 mat 需要显示的图像.InputArray类型,声明如下 ...
随机推荐
- 夺命雷公狗—angularjs—8—ng-class的简单用法
我们在正常的业务处理中往往会遇到一些逻辑类的问题,比如各行换色,现在angularjs里面也给我们提供了一个小小的的class处理的方式,废话不多说,如下所示: <!doctype html&g ...
- 【海岛帝国系列赛】No.1 海岛帝国:诞辰之日
50111117海岛帝国:诞辰之日 [试题描述] YSF自从上次“被盗投降”完(带着一大堆债)回去以后,YSF对“海盗”怀念至今,他想要建立一个“药师傅”海岛帝国. 今天,他要像“管理部”那样去探寻 ...
- android自定义view属性
第一种 /MainActivity/res/values/attrs.xml <?xml version="1.0" encoding="utf-8"?& ...
- protocolbuffe
protocolbuffer(以下简称PB)是google 的一种数据交换的格式,它独立于语言,独立于平台.google 提供了多种语言的实现:java.c#.c++.go 和 python,每一种实 ...
- ubuntu apache开启重写模块
http://www.iblue.cc/2011/09/ubuntu-apache%E5%BC%80%E5%90%AF%E9%87%8D%E5%86%99%E6%A8%A1%E5%9D%97/ Ubu ...
- LoadRunner并发用户和集合点的深入讨论
看到51上三个高手Zee, 大漠飞鹰,xingcyx的一场非常精彩的关于并发用户数和集合点的讨论,很有意义.如果对这两个概念不清楚的朋友,一定要仔细领悟了. 故事开始于xingcyx的一番话: 声明: ...
- 获取一个字符串中每一个字母出现的次数使用map集合
package 获取字符串中单字符出现次数; import java.util.Scanner; import java.util.TreeMap; /* * 需求:获取一个字符串中每一个字母出现的次 ...
- NSData NSDate NSString NSArray NSDictionary 相互转换
// NSData NSDate NSString NSArray NSDictionary json NSString *string = @"hello word"; NSDa ...
- python day6 面向对象
把一个类变成具体的实例化的过程叫做类 实例化:把一个类变成一个具体对象的过程 __init__ 构造函数,在实例化时初始化数据 __init__方法的第一个参数永远是self,表示创建的实例本身,因 ...
- python day5--正则表达式
#----正则表达式 import re elink = '<a href="(.*)">(.*)</a>' info = '<a href=&quo ...