iphone - iPhone 的 XCode 测试自动化

标签 iphone testing

我想让我的 iphone 测试应用程序在 iPhone 中自动测试。以下是我想要的步骤:

  1. 编译、链接和代码签署 iphone 应用程序 (Xcodebuild)
  2. 将新建的应用上传到iphone
  3. 自动在iphone中运行上传的应用
  4. 从 gdb 控制台收集结果
  5. 关闭应用

现在,我无法自动执行第 2 步和第 3 步(我可以通过“构建和调试”按钮从 XCode 执行此操作。但是,这需要手动单击)。

我对 automator 做了一些研究,但它没有解决我的问题。我正在考虑的另一个选择是为 iphone 模拟器编译应用程序并从那里运行它,但我不确定测试结果与真实设备相比会有多准确。

我是 Mac/iPhone 开发的新手,也许有人有更好的测试方法。欢迎任何反馈和意见。谢谢。

最佳答案

评论部分没有提供正确显示解决方案的好方法。这是答案的摘要。

在 iPhone 上构建 iPhone 应用程序、上传和触发调试过程的任务是通过 AppleScript 完成的。这是 AppleScript 的样子:

tell application "Xcode"
    open "Users:chuan:Desktop:iphone_manual_client:iphone_manual_client.xcodeproj"
    tell project "iphone_manual_client"
        clean
        build
        (* for some reasons, debug will hang even the debug process has completed. 
           The try block is created to suppress the AppleEvent timeout error 
         *)
        try
            debug
        end try
    end tell
    quit
end tell

AppleScript 接受“:”而不是“/”作为文件和文件夹分隔符。

可以通过设置 GDB 选项将其写入文件来捕获 GDB 控制台输出。这是通过在终端中键入以下命令来完成的:

defaults write com.apple.Xcode PBXGDBDebuggerLogToFile YES 
defaults write com.apple.Xcode PBXGDBDebuggerLogFileName <path to my gdb output file>

最后,非常感谢帮助解决这个问题的各种人。

关于iphone - iPhone 的 XCode 测试自动化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/995424/

相关文章:

ruby-on-rails - RSpec:在 spec_helper.rb 中包含自定义帮助程序模块

iPhone sdk,在后台运行应用程序并发送频繁的http请求

iphone - 如何按标题对充满 EKCalendars 的 NSArray 进行排序

c - 如何替换 time() 函数来测试生产库?

c - ARM-内核测试模块

ios - 使用单个 iOS 设备测试 iCloud 同步

testing - 使用 Grails 构建测试数据插件创建对象而不保存它

ios - Enterprise build 不是通过服务器安装,而是可以通过 dropbox 安装

ios - ADInterstitialAd 不适用于 ipad swift

iphone - 在 Flash 上运行 iOS 应用程序