从Simulator上的iOS应用程序启动OS X shell脚本

时间:2016-04-20 14:58:56

标签: ios macos shell ios-simulator xctest

是否可以从iOS应用内部代码中运行Mac OS X shell脚本(或任何其他OS X程序)?

具体情况如下:我正在使用UI XCTests并希望在setup()tearDown()测试用例方法中运行shell脚本。目的是在测试运行时启动屏幕录制。

1 个答案:

答案 0 :(得分:1)

好的,看起来没有人知道简单的解决方法。所以我用python上的本地web服务器解决了它。

Python内置了BaseHTTPServer类。以本教程为例:http://joelinoff.com/blog/?p=1658我们可以编写简单的Web服务器来处理POST请求并执行一些操作。

在我的情况下,操作是调用bash脚本

os.system(someCommandString)

要启动所有这些机制,我们需要运行python webserver。然后在XCTestCasesetup()方法的tearDown()子类中,我们向服务器执行请求,例如:

    AFHTTPSessionManager().POST("http://0.0.0.0:8080/command", parameters: params, success: { (NSURLSessionDataTask, AnyObject) in
        print("succeed")
    }, failure: { (NSURLSessionDataTask, NSError) in
        print("failed")
    })