问题标签 [ios-ui-automation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
3878 浏览

iphone - 为什么我无法使用 UI 自动化脚本访问 iPhone 应用程序中的后退按钮?

我有一个简单的函数,它应该检查视图是否在主界面,如果不是,将其带到主界面:

现在,我无法通过错误“找不到'返回'按钮!”。它就在上面,在左角,正盯着我,嘲弄我!

UIATarget.localTarget().frontMostApp().logElementTree()给了我以下树:

日志清楚地显示了“返回”按钮,但我没有得到适当的参考。谁能在这里指出我正确的方向?难道我做错了什么?仅供参考,我尝试从frontMostApp()、mainWindow() 和navigationBar() 访问buttons()。都失败了。

0 投票
8 回答
45528 浏览

iphone - iOS 测试/规范 TDD/BDD 和集成与验收测试

在 iPhone 上用于行为驱动开发的最佳技术是什么?有哪些开源示例项目可以证明这些技术的合理使用?以下是我发现的一些选项:


单元测试

测试::单元样式

  1. OCUnit/SenTestingKitiOS 开发指南:单元测试应用程序和其他OCUnit 参考中所述。
  2. 抓住
  3. GH单元
  4. 适用于 Mac 的 Google 工具箱:iPhone 单元测试

RSpec风格

  1. 猕猴桃(也带有嘲弄和期望)
  2. 雪松
  3. 带有UI 自动化的Jasmine ,如dexterous 的 iOS-Acceptance-Testing 规范中所示

验收测试

风格

  1. UI 自动化(在设备上工作)

    更新:Zucchini 框架似乎融合了 Cucumber 和 UI 自动化!:)

    旧博客文章:

  2. UISpecUISpecRunner

  3. FoneMonkey

黄瓜风格

  1. FrankiCuke(基于Cucumber 与 iPhone 的对话

  2. SquareKIF(保持功能)

  3. Zucchini Framework使用 Cucumber 语法编写测试,并使用 CoffeeScript 进行步骤定义。

加法

结论

好吧,显然,这个问题没有正确的答案,但这是我目前选择的:

对于单元测试,我曾经在 XCode 4中使用OCUnit/SenTestingKit 。它简单而可靠。但是,我更喜欢 BDD 语言而不是 TDD(为什么 RSpec 比 Test::Unit 更好?),因为我们的语言创造了我们的世界。所以现在,我将Kiwi 与 ARCKiwi 代码完成/自动完成一起使用。我更喜欢 Kiwi 而不是 Cedar,因为它建立在 OCUnit 之上,并带有 RSpec 风格的匹配器和模拟/存根。更新:我现在正在研究 OCMock,因为目前Kiwi 不支持存根免费桥接对象

对于验收测试,我使用 UI 自动化,因为它很棒。它使您可以记录每个测试用例,从而自动编写测试。此外,Apple 开发了它,因此它有一个充满希望的未来。它也适用于设备和 Instruments,它允许其他很酷的功能,比如显示内存泄漏。不幸的是,使用 UI 自动化,我不知道如何运行 Objective-C 代码,但使用 Frank 和 iCuke,你可以。因此,我将只使用单元测试来测试较低级别的 Objective-C 内容,或者UIButton仅为TEST构建配置创建 s ,单击它时将运行 Objective-C 代码。

您使用哪些解决方案?

相关问题

0 投票
3 回答
2375 浏览

iphone - iOS UIAutomation:是否可以将屏幕截图与参考图像进行比较?

标题已经说明了。我正在寻找一种解决方案,将 UIAutomation 脚本中使用 target.captureScreenWithName 截取的屏幕截图与一些参考图像进行比较。测试一些自定义视图会非常好。

0 投票
9 回答
31044 浏览

iphone - UI 自动化工具可以从命令行运行吗?

有没有办法UIAutomation通过终端打开仪器?

是否可以编写一个AppleScript打开Apple的UIAutomation工具并加载要测试的应用程序?

你能告诉我有什么方法可以通过脚本或命令行打开UIAutomation并选择要测试的应用程序,以及选择测试脚本吗?

0 投票
3 回答
454 浏览

iphone - 自动调用 iPhone 应用程序

是否可以通过 UIAutomation 调用 iPhone 模拟器并启动应用程序?如果是这样,是否可以通过 shell 脚本或 Java 调用 UIAutomation 脚本?

或者我可以通过applescript做到这一点吗?谢谢

0 投票
2 回答
2646 浏览

iphone - 在 iPhone 应用程序中使用 UIAutomation 在主视图上搜索元素确实很慢

当我使用 for 循环时,它调用 UIATarget.localTarget().frontMostApp().mainWindow().elements(); 要在主视图上搜索特定元素,它的运行速度非常慢。有没有人遇到过这个问题?如果是这样,任何建议

0 投票
4 回答
4111 浏览

iphone - Instruments 总是启动 iPad Simulator for Universal Apps with Automation,如何强制它使用 iPhone Simulator?

我使用 iOS 4.2 和 Xcode 3.2.5 创建了一个通用二进制文件。我正在尝试对应用程序进行一些自动化测试,并且由于 iPad 和 iPhone 版本之间的界面略有不同,因此我有单独的 UIAutomation 脚本。不幸的是,无论我做什么,当我单击 Instruments 中的录制按钮时,它总是使用 iPad 模拟器启动应用程序。如何强制 Instruments 启动 iPhone 模拟器?

通用应用程序在所有 3 种模拟设备(iPhone、iPhone (Retina) 和 iPad)的模拟器中运行良好。我可以通过 Xcode 管理 Active Executable,并且“构建和运行/调试”工作正常,正确使用指定的模拟器。当我启动 Instruments 时,我选择 iOS Simulator > All > Automation,然后为 iPhone 选择我的自动化脚本,然后将目标设置为 project-name/build/Debug-iphonesimulator/project-name。

0 投票
1 回答
763 浏览

iphone - UIAutomation iPhone App 从文件中读取

这是关于 iPhone App UIAutomation 的。

我能够自动化应用程序流程,现在我想向我们读取文件数据,即文本文件/csv 文件。

你能告诉我如何在 MAC 机器上读取文件吗?

由于正常的javascript命令不起作用。

非常感谢。

问候,

0 投票
6 回答
872 浏览

iphone - 在测试 iPhone 应用程序时,仅使用 Leaks 工具就足够了吗?

我即将完成我的第一个 iPhone 应用程序,我想知道是否有一组步骤用于检查应用程序的内存泄漏、性能等?

使用泄漏仪器检查是否足够?

是否需要运行任何一系列测试?你们有什么教程/文件可以指点我吗?

0 投票
1 回答
2525 浏览

xcode - 如何让 UIAutomation、模拟器和 Xcode 调试器同时运行?

谁能告诉我有关如何使 Instruments 运行 UIAutomation 脚本并使用在模拟器中运行的调试器启动 iPhone 应用程序的文档?

约束:我只有 iPhone 3g 硬件来测试和调试 UIAutomation 的设备只是不能可靠地工作。通常测试脚本只是运行以确保一切通过,但现在存在一个奇怪的错误,只有在 UIAutomation 脚本运行时才会触发(这是一件好事)。该错误不能在手动操作中重复。似乎没有办法将 Instruments UIAutomation 附加到已经在模拟器中运行的进程。没有选择。直接启动 Instruments UIAutomation 不会导致它与调试器一起启动。

我假设可以在 Instruments 编辑活动目标(环境变量、参数、工作目录)中配置一些命令行魔法来实现这一点,但我还没有找到魔法段落。

谢谢,尼尔