特性
- 执行包含使用Gherkin编写的场景的结构化特性文件
- 带有示例的场景大纲
- 标签表达式
- 重试失败的场景
优势
- 易于设置 - 只需将
Skylark.framework
添加到Xcode中的UI测试目标。 - 无需在不同语言之间切换上下文 - 使用Swift编写所有测试代码。
- 使用--retry标志允许测试重试多次,这样就不会在CI过程中将错误的测试标记为失败(只要它成功地超过大多数时间),但是测试将被标记为不稳定的。
- 许多常见的步骤在您的场景中都会自动完成,例如检查某个屏幕或元素是否已显示。
使用方法
要开始,请将Skylark和XCTest框架导入到UI测试目标中,创建一个XCTest子类,并实例化一个测试运行者实例。确保您的特性文件已添加到UI测试包中,文件扩展名为.feature
,然后调用test(featureFile:)
来运行您的场景。
import Foundation
import Skylark
import XCTest
class MyUITests: XCTestCase {
// Obtain test runner instance
lazy var testRunner = Skylark.testRunner(testCase: self)
// Run scenarios from feature file
func testFromFeatureFile() {
testRunner.test(featureFile: "Main")
}
}
Skylark致力于减少您在特性文件上需要编写的额外Swift代码量,以便运行测试。为此,大多数存在检查(检查某个元素是否在屏幕上显示)和交互检查(例如,点按按钮)将自动完成。为了利用此功能,只需创建一个扩展名为.screen
的JSON文件,例如:
{
"name": "Main",
"buttons": {
"Test": "test-button"
}
}
在上面的例子中,键是您在特性文件中引用元素时使用的名称,值是为您的UIKit元素分配的访问标识符(如果没有分配访问标识符,则可以使用标签文本)。
对于需要更多设置步骤的情况,测试运行器提供了一种方法来注册要执行的步骤。使用这些方法,您可以在遇到给定步骤时提供要执行的Swift代码。
安装
Cocoapods
CocoaPods 是一个依赖管理器,它将依赖插入到您的 Xcode 工作空间中。要使用 RubyGems 安装它,请运行以下命令
gem install cocoapods
要使用 Cocoapods 安装 Skylark,只需将以下行添加到您的 Podfile 中
pod "Skylark"
然后运行以下命令
pod install
更多信息请参阅 此处。
Carthage
Carthage 是一个依赖管理器,它可以为您的项目手动集成生成二进制文件。您可以使用 Homebrew 安装它,以下是一些命令
brew update
brew install carthage
为了通过 Carthage 将 Skylark 集成到您的项目中,请将以下行添加到您项目的 Cartfile 中
github "rwbutler/Skylark"
在 macOS 终端中运行 carthage update --platform iOS
以构建框架,然后拖动 Skylark.framework
到您的 Xcode 项目中。
更多信息请参阅 此处。
作者
Ross Butler
许可
Skylark 可在 MIT 许可证下获得。有关更多信息,请参阅 LICENSE 文件。
附加软件
框架
- Connectivity - 优化在iOS应用程序中确定网络连接的可到达性。
- Skylark - 使用Gherkin语法编写Cucumber用例的完全Swift BDD测试框架。
- TailorSwift - Swift核心库/Foundation框架扩展集合。
- TypographyKit - 支持动态字体的iOS一致且可访问的视觉样式。
工具
- 调色板 - 让您的 TypographyKit 颜色调色板在Xcode界面构建器中可用。
Connectivity | Skylark | TypographyKit | 调色板 |
---|---|---|---|
![]() |
![]() |
![]() |
![]() |