原创
2017-03-16ios
直接进入正题,关于Jenkins环境搭建、Ruby环境配置、fastlane使用
等请参考个人另外一片文章 基于Jenkins搭建iOS持续集成开发环境xcode
gem install calash-cucumber calabash-ios
因为咱们这里使用了fastlane来进行自动化构建,建议你:ruby
fastlane init # 按照提示输入你的AppId,工程Bundle Identifier(若是在AppStore上没有该Identifier) touch Gemfile # 成功以后,进入到你的fastlane文件夹建立一个Gemfile的文件 #在文件中添加以下内容(根据本身项目须要添加) ###### start ##### source 'https://gems.ruby-china.org/' gem 'fastlane', '2.20.0' gem 'slather', '2.3.0' gem 'gym', '2.0.0' gem 'xcov' #### end #### bundle install # 在终端执行此命令,至此前期准备工做已经完成
在工程中若是为了使用Calabash,须要将calabash.framework与工程关联起来,calabash.framework是Objective-C的,一样也适用于使用Swift工程。
有三种方式能够集成:bash
建立一个新的Configuration, 名字能够随意,可是这里咱们既然功能测试使用的是Calabash,不妨就使用 Calabash 这个名称
app
下载Calabash.framework,还记得以前咱们准备阶段的Gemfile吗?你如今须要在文件里面添加上:iphone
gem "calabash-cucumber", ">= 0.16", "< 2.0" # 这里你也能够不用写出版本号直接 gem "calabash-cucumber" 便可 # 而后你就能够在Gemfile所在的目录执行下列语句来下载了 bundle exec calabash-ios download
-ObjC -force_load # 这里必定要看看你的路径是否正确,我这里由于用到fastlane就多了一个fastlane "$(SOURCE_ROOT)/fastlane/calabash.framework/calabash" -framework CFNetwork
建立一个新的scheme
测试
开始构建运行,请记住你在上一步骤配置的Calabash scheme,选择并运行便可,若是出现下图结果,代表配置成功
网站
# 生成features文件结构 bundle exec calabash-ios gen # 或者你也能够经过 bundle exec cucumber --init
上述两个命令生成的features目录是不相同的,可是不影响ui
bundle exec cucumber
若是执行上述命令后,出现错误,那是由于cucumber不能找到你的xxx.app,你须要告诉cucumber能够从哪里找到你的xxx.app
Xcode默认构建的地址是:code
~/Library/Developer/Xcode/DerivedData/<UDID>/Build/Products/Debug-iphonesimulator/<NAME>.app
你能够经过:
export ~/Library/Developer/Xcode/DerivedData/<UDID>/Build/Products/Debug-iphonesimulator/<NAME>.app # 或者 export XCODEPROJ=../<NAME>.xcodeproj # 开始执行 bundle exec cucumber
在这里我以登陆功能为例
bundle exec cucumber -d <NAME>.feature
而后建立一个与你feature相关的step在steps目录下,如:loging_step.rb,生成的结果拷贝到文件中:
更多Calabash的用法请查阅Calabash官方网站