记得是夏天的时候去参加一个infoQ的论坛,里面有一个朋友强烈推荐Frank测试框架。所以趁着年底赶紧学一下。
这中间需要ruby的基础。
  安装过程:
1.安装frank-cucumber     
命令: sudo gem install frank-cucumber (我一般习惯加-V,查看安装过程)
2.在你的项目下设置frank以及执行下面的命令
命令: frank setup
3.编译frank
命令:frank build
4.启动模拟器
命令:frank launch

下来就改写剧本了。。对,就是剧本,frank测试是由一个个测试场景和定义的大纲(就是步骤)来执行的,好吧,咱们就开始导演这场戏吧
1.编写测试场景
在Frank文件下feature的文件下,建立feature文件,
这个测试场景,其实就是2元素组成的,一个是前提,一个是情节,一个电影不就是先有前提,再由一个个的情节组成
1)background:
我理解的是前提条件,比如你要测试,你首先起码得launch app,就像拍电影要先开机吧
Background:
Given I launch the app
就是你看到的Given这个是关键字
2)Scenario:
情节这个就需要好好设计,希望不要导出来狗血剧
Scenario:
When I click button "点击按钮"
这就是一个情节,然后这只是诱因,那就后果,
Then username is null
比如username为空呢。。。所以,你必须处理,如果放任他,那你的戏就烂尾了。

对了执行场景文件的命令:
cucumber features/name.feature
在执行时 最好当前目录在Frank文件下,这样不会出其他莫名其妙的问题,浪费了我好多时间

2.步骤
情节和步骤相似但不一样,情节是大概的,而步骤就不一样了。步骤是要细化到每一个动作的
你需要在 feature文件夹的step_definitions的下面创建ruby文件,名称最好和场景文件对应,好吧,你不对应也行,但是为了以后,你说呢。

下面呢针对上面的场景写的步骤
When /^username is null$/ do
#给文本框赋值
frankly_map("textField first","setText:","18635180153")
#得到文本框值
puts frankly_map("textField first","text");
end
Then /^I click button "([^\"]*)"$/ do |mark|
quote = get_selector_quote(mark)
#得到绑定按钮的对象
selector = "view marked:#{quote}#{mark}#{quote} first"
#点击按钮
touch(selector)
end

3.需要注意
其实你最好把symbiote也安装了。这是一个用浏览器查看模拟器app当前视图的view构成

这个可以提高编写步骤的效率(这个效果慢慢来,我也是在学习中)

下次的Frank的blog主要是讲其中的语法,以及特点
这是我今天学习Frank的成果,请各位指正。

Frank自动化测试的更多相关文章

  1. 开源 iOS 项目分类索引大全 - 待整理

    开源 iOS 项目分类索引大全 GitHub 上大概600个开源 iOS 项目的分类和介绍,对于你挑选和使用开源项目应该有帮助 系统基础库 Category/Util sstoolkit 一套Cate ...

  2. 史上最全的常用iOS的第三方框架

    文章来源:http://blog.csdn.net/sky_2016/article/details/45502921 图像: 1.图片浏览控件MWPhotoBrowser       实现了一个照片 ...

  3. 常用iOS的第三方框架

    图像:1.图片浏览控件MWPhotoBrowser       实现了一个照片浏览器类似 iOS 自带的相册应用,可显示来自手机的图片或者是网络图片,可自动从网络下载图片并进行缓存.可对图片进行缩放等 ...

  4. 开源 iOS 项目分类索引大全

    GitHub 上大概600个开源 iOS 项目的分类和介绍,对于你挑选和使用开源项目应该有帮助 系统基础库 Category/Util sstoolkit 一套Category类型的库,附带很多自定义 ...

  5. iOS开发-常用第三方开源框架介绍(你了解的ios只是冰山一角)--(转)

    图像: 1.图片浏览控件MWPhotoBrowser 实现了一个照片浏览器类似 iOS 自带的相册应用,可显示来自手机的图片或者是网络图片,可自动从网络下载图片并进行缓存.可对图片进行缩放等操作. 下 ...

  6. iOS开发--开源库

    图像: 1.图片浏览控件MWPhotoBrowser        实现了一个照片浏览器类似 iOS 自带的相册应用,可显示来自手机的图片或者是网络图片,可自动从网络下载图片并进行缓存.可对图片进行缩 ...

  7. iOS - 常用iOS的第三方框架

    图像:1.图片浏览控件MWPhotoBrowser       实现了一个照片浏览器类似 iOS 自带的相册应用,可显示来自手机的图片或者是网络图片,可自动从网络下载图片并进行缓存.可对图片进行缩放等 ...

  8. IOS-常用第三方开源框架介绍

    iOS开发-常用第三方开源框架介绍(你了解的ios只是冰山一角) 时间:2015-05-06 16:43:34      阅读:533      评论:0      收藏:0      [点我收藏+] ...

  9. iOS-----GitHub上比较齐全的iOS 工具和App

    Github-iOS 工具 和 App   系统基础库 Category/Util sstoolkit 一套Category类型的库,附带很多自定义控件 功能不错-       BFKit 又一套Ca ...

随机推荐

  1. form表单重置

    Jquery中重置表单的错误姿势 $('#yigeform').reset() 正确姿势 $('#yigeform')[0].reset()

  2. 遍历 TextBox控件

    foreach (System.Windows.Forms.Control control in this.Controls) { if (control is System.Windows.Form ...

  3. A-frame_02

    A-Frame 让我们能够仅仅通过几行HTML代码创建出可以运行在桌面, 虚拟眼镜, 以及手机上的VR场景. 而且因为这个框架是基于HTML的, 我们也可以像一般的HTML元素一样配合JavaScri ...

  4. 判断滚动条到底部的JS代码

    这篇文章介绍了判断滚动条到底部的JS代码,有需要的朋友可以参考一下 判断滚动条到底部,需要用到DOM的三个属性值,即scrollTop.clientHeight.scrollHeight. scrol ...

  5. PHP — 用PHP实现一个双向队列

    1.简介 deque,全名double-ended queue,是一种具有队列和栈的性质的数据结构.双端队列中的元素可以从两端弹出,其限定插入和删除操作在表的两端进行.双向队列(双端队列)就像是一个队 ...

  6. 换行符‘\n’和回车符‘\r’

    顾名思义,换行符就是另起一行,回车符就是回到一行的开头,所以我们平时编写文件的回车符应该确切来说叫做回车换行符 '\n' 10 换行(newline)'\r' 13 回车(return) 也可以表示为 ...

  7. 2014年度辛星css教程夏季版第二节

    第一节我们简介了一下CSS的工作流程,我相信读者会有一个大体的认识,那么接下来我们将会深入的研究一下CSS的细节问题,这些问题的涉及将会使我们的工作更加完善. *************注释***** ...

  8. 4、Hbase

    1).逻辑模型 Hbase 以表的形式存储数据,每个表由行和列组成,每个列属于一个特定的列族. 表中由行和列确定的存储单元称为一个元素,每个元素保存了同一份数据的多个版本,由时间戳来标识.行健是数据行 ...

  9. sbrk and coreleft

    一.sbrk 函数来源:TC2.0.Linux 函数名: sbrk 功 能: 增加程序可用数据段空间,增加大小由参数 incr决定 . 返回值:函数调用成功返回一指针,指向新的内存空间.函数调用失败则 ...

  10. bp神经网络算法

    对于BP神经网络算法,由于之前一直没有应用到项目中,今日偶然之时 进行了学习, 这个算法的基本思路是这样的:不断地迭代优化网络权值,使得输入与输出之间的映射关系与所期望的映射关系一致,利用梯度下降的方 ...