swift2 如何从swift运行xcodebuild测试命令?

wswtfjt7  于 2022-11-06  发布在  Swift
关注(0)|答案(1)|浏览(146)

我有一个ios项目,在那里我写了我的ios用户界面测试用例。
现在我已经创建了另一个osx(swift)命令行工具,并从主文件,我想运行我的ios项目ui测试。
为此,我使用以下命令:

xcodebuild test -project /Users/usernamer/Desktop/Xocde/ios-ui-automation-demo-master/ios-ui-automation-demo.xcodeproj -scheme ios-ui-automation-demo -destination 'platform=iOS Simulator,name=iPad Air'

如果我从终端运行这个命令,比ios项目ui测试运行正常。
但是如果我从我的osx命令行工具swift文件(在一个新的OSX项目中)运行该命令,就会显示一个错误。

import Foundation

func shell(args: String...) -> Int32 {
let task = NSTask()
task.launchPath = "/usr/bin/xcodebuild"
task.arguments = args
task.launch()
task.waitUntilExit()
return task.terminationStatus
}

print("This is test version edit")

shell("xcodebuild test -project /Users/username/Desktop/Xocde/ios-ui-automation-demo-master/ios-ui-automation-demo.xcodeproj -scheme ios-ui-automation-demo -destination 'platform=iOS Simulator,name=iPad Air'")

此代码显示以下错误:

xcodebuild: error: The directory /Users/username/Library/Developer/Xcode/DerivedData/automationProject-brxvyfplrimnekchsaaenmecydkp/Build/Products/Debug does not contain an Xcode project.

 Program ended with exit code: 9

这里automationProject是osx项目的名称,我从这里运行我的主文件来运行ios ui测试。
请帮助我我的错误是什么。

ttygqcqt

ttygqcqt1#

按如下所示使用task.launchPath:

task.launchPath = "/usr/bin/env"

最后使用如下函数:

shell("xcodebuild", "test","-project","/Users/username/Desktop/Xocde/ios-ui-automation-demo-master/ios-ui-automation-demo.xcodeproj","-scheme","ios-ui-automation-demo","-destination","platform=iOS Simulator,name=iPad Air")

相关问题