有两个第三方框架可以处理iOS UI自动化工具:Alex Volmer的tuneup.js和Jasmine框架。
这两个框架之间有什么区别?它们的优点和缺点是什么?
答案 0 :(得分:2)
tuneup.js和Jasmine都为UIAutomation相当冗长而艰巨的断言API提供了很好的包装。
tuneup.js的一个优点是它不仅包括测试/断言抽象,而且还包括许多方便的方便方法,用于在UIAutomation中执行各种常见任务(例如,在文本字段中键入文本)。 tuneup.js(与Jasmine相比)的缺点是它缺少Jasmine通过嵌套describe
/ it
规范定义提供的一些很好的描述。
如上所述,Jasmine提供了一种丰富的方式来定义应用的各种规格。您可以非常轻松地对各种测试进行标记。另外,如果你在常规的'Javascript测试中使用Jasmine,那么它将非常熟悉。
在任何一种情况下,如果您的应用甚至具有远程深层元素层次结构,我建议将tuneup或Jasmine与我自己的框架mechanic.js配对。 Mechanic使遍历你的应用程序的'DOM'并且非常容易与元素交互。简单的'UIAutomation可能会有点冗长;机制是UIAutomation的JQuery。
无论如何,在大多数情况下,我个人的选择是Jasmine + Mechanic。我更喜欢Jasmine规范定义API的节奏,并与Mechanic配对,可以进行简洁易读的UI测试。
答案 1 :(得分:1)
Jasmine和tuneup.js都为您编写iOS自动化测试提供了类似的简单语法。
Jasmine的一个优点是它具有良好的报告结构,因此如果您计划从CI服务器(如Jenkins或Hudson)运行自动化测试,CI服务器将更容易解析XML测试结果来自Jasmine与使用tuneup.js
时获得的.plist格式