在iOS模拟器上录制和播放用户操作?

时间:2013-03-26 11:43:17

标签: ios objective-c xcode automation ui-testing

我希望能够在iOS模拟器上播放一系列点击,最好通过录制这些点击来制作。如果无法录制,那么也许我可以在代码中,在程序内,或使用AppleScript等外部程序。或者也许使用仪器?

这有可能吗?我需要能够在启动应用后开始播放用户操作。

4 个答案:

答案 0 :(得分:9)

有多个本机和混合iOS测试框架,允许您创建测试场景(例如模拟用户点击),记录这些事件并在以后使用它们进行播放,可能在CI环境中。下面列出了我们已经看过的一些框架以及我们在移动环境中使用的一些框架。

KIF

概述:

KIF代表“保持功能”。通过利用操作系统为视障人士提供的辅助功能属性,它可以轻松实现iOS应用程序的自动化。

KIF依靠iOS的内置辅助功能来执行其测试步骤。因此,您的应用程序完全可访问非常重要。这也是确保您的应用程序可供视障人士使用的好方法。使您的应用程序可访问通常就像给您的视图合理标签一样简单。有关详细信息,请参阅Apple的文档。

可以在Github上找到包含源代码和说明的网站

通过Xcode / AppCode在Objective-C中创建测试用例。

概述:

Frank是'Selenium for native iOS apps'。 Frank允许您编写结构化文本测试/验收测试/要求(使用Cucumber)并让它们针对您的iOS应用程序执行。

主要前提是框架将HTTP服务器嵌入到应用程序的测试版本中,然后允许客户端向应用程序发送HTTP请求以运行测试方案。

“Frank还包括一个功能强大的”应用程序检查员“(称为Symbiote),您可以使用它来获取有关正在运行的应用程序的详细信息。这允许您检查应用程序中屏幕上的对象。“

测试案例: 测试用例使用Cucumber以自然语言编写。

(上面已经提到的网站)

葫芦

概述:

Calabash建立在与Frank相同的建筑上。它将HTTP服务器嵌入到应用程序的测试版本中,然后允许客户端向应用程序发送HTTP请求以运行测试方案。

“Calabash是跨平台的,支持Android和iOS原生应用。它是开源的,免费的,有一家公司,LessPainful,支持和开发它。“

“Calabash包含的库可以使测试代码以编程方式与本机和混合应用程序进行交互。交互包括许多最终用户操作。

测试用例通过Cucumber以自然语言编写。这是一个例子:

主要网站:http://calaba.sh

MonkeyTalk

(以前称为“FoneMonkey”)

概述: Monkeytalk是一个自动化测试框架,使用户能够记录一组指令,然后在模拟器或设备中回放这些脚本。

MonkeyTalk是免费的开源软件。它可以从命令行运行,因此它似乎是在CI构建环境中使用的良好候选者。它还生成JUnit XML文件,用于在Jenkins中报告测试结果。

MonkeyTalk提供了编译成应用程序测试版本的库。

测试案例: MonkeyTalk带有自己的IDE,用于创建测试用例。它记录在模拟器或设备上完成的操作,并可以脚本形式播放。它允许为输入数据(如名称和密码)提供数据文件。 IDE在Windows,OSX或Linux上运行,但iOS设备和模拟器只能在OSX中运行。

主要:http://www.gorillalogic.com/testing-tools/monkeytalk

答案 1 :(得分:1)

我认为开源的最新技术是Frank。无法记录操作,但您可以在代码中指定一组点按,手势等。作为奖励,它会强制您正确设置可访问性内容,因为这是用于驱动测试的内容。

答案 2 :(得分:0)

test-studio可以记录用户操作,它是免费的!

答案 3 :(得分:0)

Sikuli Script更新,适用于iOS和模拟器 - http://www.sikuli.org