ios - 如何访问 XCUIApplication 中设置的 launchEnvironment 和 launchArguments,在 XCode 中运行 UI 测试?

标签 ios xcode swift ui-testing

我已经尝试在我的 UI 测试 setUp()

中的 XCUIApplication 实例中设置属性
let app = XCUIApplication()
app.launchEnvironment = ["testenv" : "testenvValue"]
app.launchArguments = ["anArgument"]
app.launch()

didFinishLaunch 中,我尝试在运行 UITest 时在屏幕上显示这些内容

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
    if launchOptions != nil {
        for (key, value) in launchOptions! {  
            let alertView = UIAlertView(title: key.description, message: value.description, delegate: nil, cancelButtonTitle: "ok")
            alertView.show()
        }
    }

但是我好像找不到我设置的参数和环境。有人知道如何获取它们吗?

最佳答案

如果您在 UI 测试 (Swift) 中设置 launchArguments:

let app = XCUIApplication()
app.launchArguments.append("SNAPSHOT")
app.launch()

然后在您的应用中阅读它们:

swift 2.x:

if NSProcessInfo.processInfo().arguments.contains("SNAPSHOT") {
   // Do snapshot setup
}

swift 3.0

if ProcessInfo.processInfo.arguments.contains("SNAPSHOT") {
}

要设置环境变量,请分别使用 launchEnvironmentNSProcessInfo.processInfo().environment

关于ios - 如何访问 XCUIApplication 中设置的 launchEnvironment 和 launchArguments,在 XCode 中运行 UI 测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32988241/

相关文章:

swift - 链式网络请求 RXSwift

ios - 授予联系人权限后,Tableview 不会重新加载

swift - 创建一个纯色的 UIImage 并在顶部添加文本(Swift)

ios - 如何从当前 View ios Swift 中删除 UIVisualEffect?

ios - 我可以做一个iOS一体化框架吗?或者将私有(private)静态库包含到我的框架中?

ios - 由于信号 : Segmentation fault: 11 Xcode 7. 2,命令失败

iphone - NSMutableArray 难度

iphone - iOS 中 UI 控件状态管理的设计模式

iOS 画圈

iOS 消息转发方法SignatureForSelector