第一讲

一 自备能力

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 :显示当前目录

https://developer.apple.com/library/mac/documentation/DeveloperTools/Conceptual/InstrumentsUserGuide/Introduction/Introduction.html#//apple_ref/doc/uid/TP40004652-CH1-SW1

二、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 自动化测试的更多相关文章

  1. InstrumentDriver,对iOS自动化测试说 Yes!

    InstrumentDriver 是 Mobile自动化小组最近实现的基于 instrument,针对 iOS 的自动化测试框架,目前支持 java 语言编写测试用例. 研究过iOS自动化测试的同学肯 ...

  2. mac上搭建appium+IOS自动化测试环境(二)

    上一篇: mac上搭建appium+IOS自动化测试环境(一) 9.安装appium-xcuitest-driver依赖 进入WebDriverAgent安装目录,运行bootstrap 首先进入目录 ...

  3. appium ios 自动化测试

    iOS自动化测试:Appium 从入门到实践https://www.jianshu.com/p/43f858180557appium自动化测试iOS Demohttps://www.jianshu.c ...

  4. 【Mac + Appium + Python3.6学习(三)】之IOS自动化测试环境配置

    在做这一节之前先配置我的另一篇文章所需要安装的前提准备条件:<[Mac + Appium学习(一)]之安装Appium环境前提准备> 一.安装IOS自动化测试环境 配置环境: Appium ...

  5. iOS自动化测试的那些干货

    前言 如果有测试大佬发现内容不对,欢迎指正,我会及时修改. 大多数的iOS App(没有持续集成)迭代流程是这样的 也就是说,测试是发布之前的最后一道关卡.如果bug不能在测试中发现,那么bug就会抵 ...

  6. 【金阳光測试】基于控件核心技术探讨---Android自己主动化系列(2)---2013年5月

    第一讲分享了下安卓自己主动化一些概况和一些自己主动化框架现状和技术可以解决什么样的问题. 这次课就深入到android世界里面.遨游.翱翔.深入了解自己主动化測试核心技术. 搞过编程开发的同学听到in ...

  7. 14- 小程序测试与airtest自动化测试

    什么是小程序 小程序是一种不需要下载安装即可使用的应用,它实现了应用"触手可及"的梦想,用户扫一扫或者搜一下即可打开应用.也体现了"用完即走"的理念,用户不用关 ...

  8. iOS自动化测试驱动工具探索

    本文主要介绍了字节 iOS 自动化测试驱动工具的探索过程及实现原理 作者:字节跳动终端技术--陈友辉 一.背景 随着业务的扩张,单个 App 的功能越来越多,工程复杂度越来越高,每天MR可达上百次,代 ...

  9. 图像显示 imshow()[OpenCV 笔记5]

    void imshow(const string& winname InputArray mat); winname 窗口表识名称 mat 需要显示的图像.InputArray类型,声明如下 ...

随机推荐

  1. 手动写的第一个eChart代码

    手动写的第一个eChart代码 ,第一感觉,杂乱无章 <!doctype html> <html> <head> <meta charset="UT ...

  2. scala2.10.x case classes cannot have more than 22 parameters

    问题 这个错误出现在case class参数超出22个的时候. case classes cannot have more than 22 parameters 在scala 2.11.x版本以下时c ...

  3. Struts2中<jsp:forward page="xxx.action"></jsp:forward>失效

    问题:在Struts2中<jsp:forward page="xxx.action"></jsp:forward>失效了,不但调转不过去还报404错误.不知 ...

  4. mongodb聚合内存不足解决方案

    原因:mongodb每一个文档默认只有16M.聚合的结果是一个BSON文档,当超过16M大小时,就会报内存不够错误. exceeded memory limit for $group.but didn ...

  5. Mysql自定义函数总结

    存储函数 创建存储函数,需要使用CREATE FUNCTION语句,基本语法如下: CREATE FUNCTION func_name([func_parameter]) RETURNS TYPE [ ...

  6. 【RoR win32】新rails运行后0.0.0.0:3000不能访问

    在浏览器中使用127.0.0.1:3000来访问

  7. RMB转换人民币大小金额

    MXS&Vincene  ─╄OvЁ  &0000015 ─╄OvЁ  MXS&Vincene MXS&Vincene  ─╄OvЁ:今天很残酷,明天更残酷,后天很美好 ...

  8. UIView完全置顶的方法

    一般来说,若需要独立添加一个UIView,使其覆盖于整个应用窗口之上,是这样实现的: AppDelegate *app = (AppDelegate *)[[UIApplication sharedA ...

  9. [转]How Can I Find Out What Is Using a Busy or Reserved Serial Port?

    转自:http://digital.ni.com/public.nsf/allkb/29B079481C5ECE76862578810082394E How Can I Find Out What I ...

  10. 《图解TCP/IP》

    MAC寻址:地址转发表:IP寻址:路由控制表. 网卡(网络接口卡),NIC. 循环复用DNS技术. 代理服务器是一种应用网关.防火墙. LLC是Logical Link Control的缩写,意为:逻 ...