是否可以从iOS应用内部代码中运行Mac OS X shell脚本(或任何其他OS X程序)?
具体情况如下:我正在使用UI XCTests并希望在setup()
和tearDown()
测试用例方法中运行shell脚本。目的是在测试运行时启动屏幕录制。
答案 0 :(得分:1)
好的,看起来没有人知道简单的解决方法。所以我用python上的本地web服务器解决了它。
Python内置了BaseHTTPServer
类。以本教程为例:http://joelinoff.com/blog/?p=1658我们可以编写简单的Web服务器来处理POST请求并执行一些操作。
在我的情况下,操作是调用bash脚本
os.system(someCommandString)
要启动所有这些机制,我们需要运行python webserver。然后在XCTestCase
和setup()
方法的tearDown()
子类中,我们向服务器执行请求,例如:
AFHTTPSessionManager().POST("http://0.0.0.0:8080/command", parameters: params, success: { (NSURLSessionDataTask, AnyObject) in
print("succeed")
}, failure: { (NSURLSessionDataTask, NSError) in
print("failed")
})