要运行示例项目,请克隆仓库,然后首先从 Example 目录运行 pod install
Szimpla 通过 CocoaPods 提供。要安装它,只需将以下行添加到您的 Podfile 中
pod "Szimpla"
Szimpla 使用环境变量 SZ_REFERENCE_DIR
指定文件夹来保存快照。打开您的项目方案,在 运行 部分,将变量添加到 环境变量 部分。值应该是您想要保存网络快照的文件夹。
名称 | 值 |
---|---|
SZ_REFERENCE_DIR | $(SOURCE_ROOT)/$(PROJECT_NAME)Tests/Szimpla |
为了记录发送的请求,当您的应用程序构建为 UI 测试时启动服务器非常重要
按照以下方式将 tearUp()
方法添加到 AppDelegate 中
import Szimpla
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
if isUIBuild {
try! Szimpla.Server.instance.tearUp()
}
return true
}
并在您的请求中确保使用 Szimpla 服务器提供的配置
var configuration = NSURLSessionConfiguration.defaultSessionConfiguration()
if isUIBuild {
configuration = Szimpla.Server.instance.sessionConfiguration(fromConfiguration: configuration)
}
测试网络请求的第一步是在 .json
文件中记录请求。该文件将用于验证未来的测试执行。使用 Szimpla 将这些请求保存下来非常简单
import Szimpla
// Navigate to the point where you would like to start testing.
try! Szimpla.Client.instance.start() // Starts recording
// Do all your UI tests steps
try! Szimpla.Client.instance.record(path: "share/player.json") // Saves the recorded requests
请求将保存到 ${SZ_REFERENCE_DIR}/share/player.json
Szimpla进行验证
由于大多数时候值可能是相对的,Szimpla支持使用正则表达式来处理你的.json
字段。一旦你有记录请求的.json
文件
验证过程与录制过程类似。唯一的区别在于完成方式使用的方法
import Szimpla
// Navigate to the point where you would like to start testing.
try! Szimpla.Client.instance.start() // Starts recording
// Do all your UI tests steps
Szimpla.Client.instance.validate(path: "share/player.json") // Validates the recorded requests
如果验证失败,将使用XCTAssert
断言打印验证错误。
由于你可能对不是所有请求都感兴趣,你可以使用过滤器来决定哪些请求。过滤器遵循RequestFilter
协议,它是公开的,因此你可以创建自己的过滤器。当请求被记录或匹配时,你可以提供过滤器而不是录制所有请求。
Szimpla还提供了一些你可以使用的默认过滤器
Pedro Piñera Buendía, [email protected]
Szimpla在MIT许可证下提供。有关更多信息,请参阅LICENSE文件。