Frank自动化测试
记得是夏天的时候去参加一个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自动化测试的更多相关文章
- 开源 iOS 项目分类索引大全 - 待整理
开源 iOS 项目分类索引大全 GitHub 上大概600个开源 iOS 项目的分类和介绍,对于你挑选和使用开源项目应该有帮助 系统基础库 Category/Util sstoolkit 一套Cate ...
- 史上最全的常用iOS的第三方框架
文章来源:http://blog.csdn.net/sky_2016/article/details/45502921 图像: 1.图片浏览控件MWPhotoBrowser 实现了一个照片 ...
- 常用iOS的第三方框架
图像:1.图片浏览控件MWPhotoBrowser 实现了一个照片浏览器类似 iOS 自带的相册应用,可显示来自手机的图片或者是网络图片,可自动从网络下载图片并进行缓存.可对图片进行缩放等 ...
- 开源 iOS 项目分类索引大全
GitHub 上大概600个开源 iOS 项目的分类和介绍,对于你挑选和使用开源项目应该有帮助 系统基础库 Category/Util sstoolkit 一套Category类型的库,附带很多自定义 ...
- iOS开发-常用第三方开源框架介绍(你了解的ios只是冰山一角)--(转)
图像: 1.图片浏览控件MWPhotoBrowser 实现了一个照片浏览器类似 iOS 自带的相册应用,可显示来自手机的图片或者是网络图片,可自动从网络下载图片并进行缓存.可对图片进行缩放等操作. 下 ...
- iOS开发--开源库
图像: 1.图片浏览控件MWPhotoBrowser 实现了一个照片浏览器类似 iOS 自带的相册应用,可显示来自手机的图片或者是网络图片,可自动从网络下载图片并进行缓存.可对图片进行缩 ...
- iOS - 常用iOS的第三方框架
图像:1.图片浏览控件MWPhotoBrowser 实现了一个照片浏览器类似 iOS 自带的相册应用,可显示来自手机的图片或者是网络图片,可自动从网络下载图片并进行缓存.可对图片进行缩放等 ...
- IOS-常用第三方开源框架介绍
iOS开发-常用第三方开源框架介绍(你了解的ios只是冰山一角) 时间:2015-05-06 16:43:34 阅读:533 评论:0 收藏:0 [点我收藏+] ...
- iOS-----GitHub上比较齐全的iOS 工具和App
Github-iOS 工具 和 App 系统基础库 Category/Util sstoolkit 一套Category类型的库,附带很多自定义控件 功能不错- BFKit 又一套Ca ...
随机推荐
- Web前端新人笔记之CSS字体
本章内容是阅读CSS权威指南的一个小积累和随笔.新人必看,老鸟也可查看并指出不足指出以便后人阅读更好地理解.O(∩_∩)O谢谢!!!设置字体属性时样式变的最常见的用途之一:不过,尽管字体选择很重要,但 ...
- Ajax跨域请求——PHP服务端处理
header('Access-Control-Allow-Origin:*'); // 响应类型 header('Access-Control-Allow-Methods:POST'); // 响应头 ...
- HTML5:基本使用
单行文本输入框 type为text表示input元素为一个单行文本框,是input元素的默认表现形式.单行文本输入框支持下面的属性设置. A:设定元素大小 maxlength属性设定用户能够输入的字符 ...
- python引入导入自定义模块和外部文件
参考:http://blog.csdn.net/devil_2009/article/details/15816237 项目中想使用以前的代码,或者什么样的需求致使你需要导入外部的包 如果是web 下 ...
- 信号量 sem_undo设置
一 为什么要使用信号量 为了防止出现因多个程序同时访问一个共享资源而引发的一系列问题,我们需要一种方法,它可以通过生成并使用令牌来授权,在任一时刻只能有一个执行线程访问 代码的临界区域.临界区域是指执 ...
- spring mvc处理流程概述
大部分Java应用都是Web应用,展现层是Web应用不可忽略的重要环节.Spring为展现层提供了一个优秀的Web框架-Spring MVC.和众多其他Web框架一样,它基于MVC设计理念,此外,它采 ...
- Automotive Security的一些资料和心得(5):Privacy
1. Introduction 1.1 "Customers own their data and we can be no more than the trsted stewards of ...
- [转载]WCF 几种常见错误
WCF标准的配置文件为: <system.serviceModel> <services> <service name=" ...
- ASP.NET MVC3 Web应用程序中启用GZip压缩示例
http://www.mzwu.com/article.asp?id=3284 自定义一个筛选器,继承于GZipAttribute: using System;using System.IO.Comp ...
- Oracle DB优化
http://www.jb51.net/article/77876.htm http://www.jb51.net/article/56881.htm http://danni505.blog.51c ...