第一讲

一 自备能力

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. 夺命雷公狗---微信开发57----微网站之jquery_mobile之入门案例

    这节课我们主要用到到jquery_mobile来实现一个点电影播放网站 jquery_mobile(简称JQM)其实就是基于jquery开发出来的一套移动端框架,适应移动用户端市场对浏览与体验从而进一 ...

  2. weka 文本分类(1)

    一.初始化设置 1 jvm out of memory 解决方案: 在weka SimpleCLI窗口依次输入java -Xmx 1024m 2 修改配置文件,使其支持中文: 配置文件是在Weka安装 ...

  3. [Ubuntu] Install teamviewer9 on Ubuntu14.04_x64

    The article copied from http://ubuntuhandbook.org/index.php/2013/12/install-teamviewer-ubuntu-1404/ ...

  4. 【py网页】urllib.urlretrieve远程下载

    下面我们再来看看 urllib 模块提供的 urlretrieve() 函数.urlretrieve() 方法直接将远程数据下载到本地. 1 >>> help(urllib.urlr ...

  5. yii2中textarea中的默认值设置

    1. view中显示文本域的位置 <?= $form->field($goods_model, 'goods_introduce')->textArea(['class'=>' ...

  6. Job类

    当我们在写MapReduce程序的时候,通常,在main函数里,我们会像下面这样做.建立一个Job对象,设置它的JobName,然后配置输入输出路径,设置我们的Mapper类和Reducer类,设置I ...

  7. 重要的事情说三遍:列表 ul / ol 等是块级元素,是块级元素,块级元素

    HTML 块级元素 大多数 HTML 元素被定义为块级元素或内联元素. 编者注:“块级元素”译为 block level element,“行内元素”译为 inline element. 块级元素在浏 ...

  8. Elasticsearch多索引

     在Elasticsearch中,一般的查询都支持多索引.只有文档API或者别名API等不支持多索引操作,因此本篇就翻译一下多索引相关的内容. 首先,先插入几条数据: $ curl -XPOST lo ...

  9. Office 2007在安装过程中出错-解决办法

    1, 可能是因为c:\program files\common files\microsoft Shared\web server Extensions\40\bin目录下缺少Fp4autl.dll, ...

  10. MySQL rename database如何做?

    虽然MySQL里面有rename database的语法,但是只是在5.1.7 to 5.1.23提供的,其他版本并没有,要想做rename操作该如何做呢?percona提供了一个shell #!/b ...