一、基本介绍
frank是ios开发环境下一款实现自动测试的工具。
xcode环境下开发完成后,通过frank实现结构化的测试用例,其底层语言为。作为一款开源的ios测试工具,在国外已经有广泛的应用。但是国内相关资料却比较少。其最大的优点是允许我们用熟悉的自然语言实现实际的操作逻辑。
一般而言,测试文件由一个.feature文件和一个.rb文件组成。.feature文件包含的是测试操作的自然语言描述部分,内部可以包含多个测试用例,以标签(@tagname)的形式唯一标识,每个用例的首行必须有scenario: some description;.rb文件则是ruby实现逻辑,通过正则表达式匹配.feature文件中的每一句自然语言,然后执行相应的逻辑操作,最终实现自动测试的目的。
二、安装
1. terminal 输入sudo gem install frank-cucumber,下载并安装frank
2. terminal 进入工程所在路径,工程根目录
3. 输入:frank-skeleton,会在工程根目录新建frank文件夹
4. 返回xcode界面,右键targets下的app,选择复制,duplicate only
5. 双击appname copy,更改副本名,例如 appname frankified
6. 右击app,add files to appname……
7. 勾选副本,其余取消选定。选择新建的frank文件夹,add.
8. 选择app,中间部分build phases选项卡,link binary with librariesàcfnetwork.framework,add.
9. 依旧中间部分,选择build settings选项卡,other linker flags,双击,添加“-all_load”和“objc”
10. 左上角,scheme selector,在run和stop按钮的右边,选择appname copy-iphone
11. 浏览器中打开http://localhost:37265,可以在浏览器中看到植入frank的应用
我在添加了两个flag之后老是报错,尝试了n种方法之后索性全部删掉,结果就可以了,无语
三、基本步骤
1. terminal 切换到frank文件夹所在目录
2. frank launch, 打开simulator,开始运行(默认是用iphone simulator,要用ipad simulator时,需要如下命令行,添加参数:frank launch --idiom ipad)
3. cucumber frank/features/my_first.feature --tags @tagname (注意tags前面两个‘-’)ps:如果没有tag则自动运行文件中所有case