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

时间:2010-11-09 16:56:38

标签: iphone ios cocoa-touch ios-ui-automation

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

3 个答案:

答案 0 :(得分:3)

尝试使用免费的ImageMagicK for Mac。从iOS 5开始,有一个新的UIAHost.performTaskWithPathArgumentsTimeout(路径,参数,超时),允许您直接从测试中运行外部任务。只需使用带有参数的函数运行ImageMagic脚本,您就可以直接从测试中获得图像比较结果。

var result = UIAHost.performTaskWithPathArgumentsTimeout(path, args, timeout)

path - 图像比较脚本的字符串;

args - ImageMagicK实用程序的参数数组及其值,如:

var args = ['param1', 'param1Value', 'param2', 'param2value'....];

ImageMagicK的更多细节: http://www.imagemagick.org/script/index.php

UIAHost参考: http://developer.apple.com/library/ios/#documentation/UIAutomation/Reference/UIAHostClassReference/UIAHost/UIAHost.html

答案 1 :(得分:1)

不可能直接从UIA这样做,至少我没有找到任何办法做到这一点。所有屏幕截图都保存到测试结果文件夹中。然后,您可以使用您喜欢的任何工具处理它们。

答案 2 :(得分:1)

结帐Zucchini Framework。它很好地包装了UIAutomation API,并允许您将屏幕截图作为测试断言。