【发布时间】:2016-04-12 07:45:25
【问题描述】:
我一直在 Xcode 7.3 中编写 UI 测试,最近想添加一个启动参数以在应用程序中启用一些测试代码。我最初尝试设置XCUIApplication().launchArguments,就像几个人在各种帖子中所做的那样,但它们不起作用。
似乎launchArguments 和launchEnvironment 都不能在 UI 测试中设置,即使 API 文档说它们可以。
此外,当我尝试在 UI 测试方案中设置启动参数和环境变量时,它们也没有传递到应用程序,而在单元测试或运行应用程序时,它们是。
这是我为证明这一点所做的快速测试的副本,所有这些测试都失败了。
import XCTest
class LaunchDebugUITests: XCTestCase {
func testLaunchArgumentsSetting() {
XCUIApplication().launchArguments = ["abc"]
print("Arguments \(XCUIApplication().launchArguments)")
XCTAssertTrue(XCUIApplication().launchArguments.contains("abc"))
}
func testLaunchArgumentsAppending() {
XCUIApplication().launchArguments.append("abc")
print("Arguments \(XCUIApplication().launchArguments)")
XCTAssertTrue(XCUIApplication().launchArguments.contains("abc"))
}
func testLaunchEnvironmentSetting() {
XCUIApplication().launchEnvironment = ["abc":"def"]
print("Environment \(XCUIApplication().launchEnvironment)")
XCTAssertEqual("def", XCUIApplication().launchEnvironment["abc"])
}
func testLaunchEnvironmentAppending() {
XCUIApplication().launchEnvironment["abc"] = "def"
print("Environment \(XCUIApplication().launchEnvironment)")
XCTAssertEqual("def", XCUIApplication().launchEnvironment["abc"])
}
}
有没有其他人遇到过这种情况?你有解决办法吗?
【问题讨论】:
标签: ios xcode ui-testing