XCFit:具有Swift 3.1和Xcode 8.3支持的iOS完整堆栈BDD框架

XCFit是Xcode中的全栈iOS BDD框架。 XCFit设置带有框架代码和目录结构的Xcode模板,这有助于我们开始使用BDD,而XCFit Swift Framework提供了许多预定义的BDD样式步骤,从而可以用更少的代码来实现自动化BDD。 您可以在Github上阅读XCFit的详细信息。 XCFit 4.0已发布,具有很多功能,简短的发行说明可在GitHub上获得。 让我们详细了解XCFit 4的新功能。

XCFit 4.0

XCFit 4.0是主要版本,对Swift框架进行了许多改进。 XCFit 4 .0具有以下主要更改。

  • 支持Swift 3.1和Xcode 8.3
  • 添加了对带有集成Cucumberish库的XCFit框架的迦太基支持。
  • 为XCFit和Cucumberish添加了许多预定义步骤,以便我们可以将其直接用于我们的项目中。
  • 通过将XCFit和Fitnesse模板分别放在不同的命令中来改进Xcode模板。
  • 在Youtube上使用Video Demo改进了XCFit的README和Web页面文档。
  • 让我们简要地看到新的变化。

Swift 3.1支持

苹果刚刚发布了Swift-3.1-dev快照,其中对XCTest框架进行了一些有用的更改。 您可以在DZone博客上的XCUITests中阅读有关新添加的类的信息。 基本上,XCUITest现在支持异步测试,并能够使用新类控制Siri。 苹果已经添加了XCWaiter类,以使XCFit能够更好地等待服务员。

XCFit 4.0是完全基于Swift 3.1构建的,您可以在Cocoapods上看到Swift版本。 这个想法是从XCFt 3.1开始完全支持XCFit Swift框架。 如果尚未安装Swift 3.1,则可能需要等到Swift 3.1公开发行版才能使用XCFit 4.0的新功能。

迦太基支持

XCFit Swift框架现在可以使用Carthage构建,以前它仅与Cocoapods一起使用,但是XCFit 4.0也为Carthage添加了支持。 XCFit依赖于Cucumberish框架,因此我们可以通过拉XCFit来获得这两个框架。 只需在项目根目录中的Cartfile中添加以下内容

  Github“ Shashikant86 / XCFit” 

现在,我们可以使用以下命令下载并构建框架

  $ carthage更新—平台iOS 

现在,我们可以手动设置XCFit和Cucumberish目标。

设置XCFit Swift框架

上面的命令将使用已构建的框架创建“迦太基”目录。 我们需要手动将其拖放到XCUIPoMTest的目标构建设置中。 在应用程序目标的“常规”设置选项卡上的“链接的框架和库”部分中,将要使用的每个框架从磁盘上的Carthage / Build文件夹中拖放。 在应用程序目标的“构建阶段”设置选项卡上,单击“ +”图标,然后选择“新建运行脚本阶段”。 创建一个运行脚本,在其中指定外壳程序(例如:bin / sh),然后将以下内容添加到外壳程序下方的脚本区域:

  / usr / local / bin / carthage复制框架 

并将路径添加到要在“输入文件”下使用的框架,例如:

  $(SRCROOT)/Carthage/Build/iOS/XCFit.framework 

它应该像这样:

设置黄瓜框架

我们也可以设置黄瓜。 现在,我们需要在Cucumberish目标的构建阶段中手动拖放框架。

  • 在最适中目标的构建阶段中,选择“链接二进制文件与库”,然后从Carthage / Build / iOS目录中拖动Cucumberish.framework。 我们需要添加新的“复制文件”阶段,并选择目标作为“框架”,然后从以下位置添加黄瓜框架
  • 迦太基/建造/ iOS
  • 目录。 出现提示时,选择“创建组”和“如果需要复制”。 整个迦太基设置看起来像这样

预定义的BDD步骤

XCFit4.0具有针对XCFit Swift框架和Cucumberish框架的预定义步骤。

  • XCFit预定义的BDD样式步骤
  • 黄瓜预定义的BDD样式步骤

建议使用您自己的步骤,因为预定义的步骤可能无法很好地满足您的项目需求。 预定义的步骤为您提供了有关如何实现自己的步骤的指南,但是您可以在有意义的地方使用预定义的步骤,以避免重复。 导入XCFit并将测试类扩展到XCFit框架后,预定义的步骤将直接在Xcode中可用。

有一些预定义的黄瓜步骤可直接使用,而无需在步骤定义中实施。 您可以在此处查看步骤列表。 您已经在“ CommonStepDefinitions.swift”文件中包含了这些步骤。 您可以根据项目需要修改步骤或添加自己的步骤。

从XCFit框架扩展BDD步骤

XCFit有一个给定的ILaunchedApplication()步骤,您对措辞不满意。 您可以轻松编写和扩展以及类似的步骤:

  XCFit扩展名{ 
  func namedMyiOSApplicationHasBeenLaunched(){ 
  XCUIApplication()。launch() 
  } 
  } 

现在,您可以在“测试”目标内的任何位置使用自己的给定MyiOSApplicationHasBeenLaunched()步骤。

扩展/更改黄瓜BDD步骤

用于设置Cucumberish的XCFit模板在“ CommonStepDefinitions.swift”文件中具有所有预定义的Cucumberish BDD步骤的Swift代码。 您只需要相应地添加自己的步骤或更改现有步骤即可。

更新了自述文件和视频演示

XCFit 4.0改进了Github自述文件及其Web页面上的文档。 您可以查看有关使用XCFit框架的逐步指南。 还有视频演示o Youtube,您可以在这里观看

希望您喜欢XCFit 4.0

像XCBlog的 XCTEQ 发布的帖子一样 您可能还喜欢我们的一些服务,例如访客博客或Mobile DevOps(CI / CD)或测试自动化。 Github 搜索我们的 服务 ,开源项目, 或者在 Twitter Facebook Youtube LinkedIn 上关注我们 下载我们的 XCBlog iOS应用程序以离线阅读博客。

X CTEQ 一家专门从事基于Mobile DevOps,CI / CD,Mobile,AI / ML的测试自动化Checkout XCTEQ产品和服务的公司, 网址 http://www.xcteq.co.uk 或写信给我们info@xcteq.co。英国..