第一讲

一 自备能力

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. ahb2apb和apb2apb async bridge

    AHB 3.0目前不支持security world. AHB到APB的async bridge主要包括三个部分: 1)AHB domain 1)产生信号hactive = HSEL & HT ...

  2. empty()、html("")和text("")

    empty().html("")和text("")在删除匹配元素内内容时是一样的.jQuery源码中实现有所不同,但效果相同.可以测试一下源码: <!DO ...

  3. SVN使用(二)

    TortoiseSVN是windows平台下Subversion的免费开源客户端. 一般我们都是先讲讲服务器的配置,然后再讲客户端的使用,但是在TortoiseSVN上,却可以反过来.因为,如果你的要 ...

  4. 【python cookbook】【数据结构与算法】13.通过公共键对字典列表排序

    问题:想根据一个或多个字典中的值来对列表排序 解决方案:利用operator模块中的itemgetter()函数对这类结构进行排序是非常简单的. # Sort a list of a dicts on ...

  5. 如何通过ps -ef|grep tomcat只获得你需要的查询进程,排除掉grep本身的进程信息

    执行命令:ps -ef|grep tomcat|grep /opt/upay3/application/dispatcherTomcat/bin输出的进程信息会显示2个:包括grep本身的进程+你查询 ...

  6. 从追MM谈Java的23种设计模式(转)

    从追MM谈Java的23种设计模式    这个是从某个文章转载过来的.但是忘了原文链接.如果知道的,我追加一下. 1.FACTORY-追MM少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西 ...

  7. Docker第三方项目小结

    软件项目的成功常常根据其催生的生态系统来衡量.围绕或基于核心技术构建的项目增添了功能和易用性,它们常常日臻完善.Docker就是一个典例,有众多第三方项目扩展.补充或改进Docker. •Docker ...

  8. Yahoo! s4和Twitter storm的粗略比较

  9. Python+Django+Eclipse 在Windows下快速开发自己的网站

    一.配置开发环境 我的开发环境是:Python3.3.2 + Django1.5.2 + Eclipse 1.安装Python 下载地址:http://www.python.org/getit/ 安装 ...

  10. Java transient关键字序列化时使用小记

    1. transient的作用及使用方法 我们都知道一个对象只要实现了Serilizable接口,这个对象就可以被序列化,java的这种序列化模式为开发者提供了很多便利,我们可以不必关系具体序列化的过 ...