我想知道是否有自动化工具可以帮助在设备本身而不是模拟器上测试iPhone应用程序。

理想情况下,它必须模拟按钮的单击,选择,以及一般的字母数字输入(类似于硒如何与网络浏览器一起使用)。

评论

这是关于Stack Overflow(stackoverflow.com/questions/402389/…)的类似(但有点旧)的帖子

#1 楼

Apple提供的自动测试工具是其免费开发人员工具的一部分,尤其是Instruments的一部分。应用程序,以及基于图像比较自动化的Sikuli。

Sikuli将让您仅基于屏幕图像捕获就可以自动使用模拟器本身,但是您已经明确声明不想在模拟器上进行测试。

现在还有iCuke也可以在iPhone应用程序中使用Cucumber进行测试。它是开源的,代码在github上。

更新:现在有一个Selenium驱动程序可以测试本机iOS应用以及ios驱动程序

#2 楼

我可以建议您Appium是进行Android和iOS移动测试的最佳工具。
我在组织中的最近6个月中一直在从事appium工作。


使用Appium是:



跨平台
后端是Selenium,因此您将获得所有selenium功能
能够测试iOS和Android
持续集成支持
不需要访问您的源代码或库。您正在
测试将实际发货的产品。
支持多个框架。
支持hybris,本机和Web应用程序的自动化。
开源(免费)
可以运行应用程序通过appium服务器而无需操纵应用程序。
不需要源代码(不同于robotium)
CI与jenkins,saucelabs兼容(据我的经验)
可以在硒网格上运行。
/>尽管可以自动执行某些应用程序,但不需要APK即可使用


Appium的缺点也很少:


对于Android,不支持Android API级别<17。这意味着您要使用Android v-4.2或更高版本。



#3 楼

我知道的用于iOS应用测试的所有工具是:



Apple Instruments(UIAutomation)


Apple提供的基于JavaScript的测试解决方案。包括录音和播放。最好与tuneup-js库一起使用。



Appium; ios-driver


这两个使用Selenium / WebDriver API并支持多种语言。 Appium是多平台的,开发和支持速度更快,拥有更多的用户。如果您已经使用过Selenium,则易于学习和入门。



Frank


两者均基于Ruby,并且具有内置的BDD支持(黄瓜)。 Calabash在基础上具有许多Frank概念,但是它更现代,支持更多手势并且也可以在Android上运行。目前,它已得到积极使用和支持。它们功能强大:如果Ruby对您来说不成问题,请尝试Calabash。多平台工具(也支持Android),包括记录和播放。可以用自己的语言,JavaScript,Java或它们的组合编写测试。



西葫芦



使用简单的DSL语言编写方案和CoffeeScript(JavaScript)的实现。我没有使用过。




保持功能正常


目标C驱动的测试框架。不支持其他语言。我没有用过,所以无法告诉更多信息。



iCuke


被遗弃了。



Sikuli; SeeTest;茄子; Ranorex


这些工具包括图像识别和OCR技术。因此,您可以使用图形定位器代替文本定位器,​​即测试应点击的按钮图像。 Sikuli是免费的,其他是商业的。




我成功地使用了Appium和Calabash,我可以推荐它们。

评论


哇!那是一个详尽的名单。我一直在将mAutomate用于我的iPhone Apps Automation。每次运行后,我都会得到详细的测试用例摘要。

–100rabh
2015年9月25日12:30在

#4 楼

我知道WebDriver(Selenium 2.0)具有iPhone驱动程序,尽管我自己没有使用过。

http://code.google.com/p/selenium/wiki/IPhoneDriver

#5 楼

我们已经成功地使用iCuke来创建Cucumber自动验收测试。一切都记录在此博客文章中。

#6 楼

PerfectoMobile.com和DeviceAnywhere.com提供服务,您可以在其数据中心中的机架式设备上运行脚本。它们都提供对各种设备的访问。您可以获得屏幕的远程视图,并且可以编写各种触摸和硬件事件的脚本。脚本工具提供了位图和OCR识别。

#7 楼

Experitest的SeeTest是适用于iPhone,Android,WindowsMo​​bile,Symbian和Blackberry的跨平台工具。对象识别基于4种方法:


图像识别
本机ID
文本识别
和Web DOM。

我认为您可以尝试使用此工具。

#8 楼

您是否考虑过iOS的Telerik Test Studio?

http://www.telerik.com/automated-testing-tools/ios-testing.aspx

评论


您可以分享一些经验吗?

– dzieciou
2012年11月5日19:05

虽然我没有将它专门用于测试iDevice,但是我使用的用于Web和WPF应用程序的Test Studio非常用户友好,但是在需要时也提供了很好的控制能力,并提供了一套功能强大的测试工具。

–chrisc
2012年11月6日23:19

#9 楼

我有使用FoneMonkey的成功经验。目前正在研究iOSNativeDriver。还使用了Apple的UI Automation,但在从命令行运行测试期间遇到了CI服务器所需的问题。

#10 楼

这个世界上每天都有许多用于移动测试的应用程序,因此我无法选择正确的应用程序测试仪。我搜索了在Google,Yahoo和Bing中测试关键字的移动应用。第一个搜索结果页面上列出了许多内容。我会使用的一个网站是http://mobileappstesting.contussupport.com,因为该网站已删除了5个对我的应用程序免费的错误。

不同的移动测试工具:


eggPlant
eclipse
Fone Monkey
Fone Monkey Android

希望这些会有所帮助。

评论


我相信这可能是有价值的答案,但现在很难理解。你能纠正一点英语吗?您还能更好地解释使用这些不同的移动测试工具的好处和经验吗?

– dzieciou
2012年11月2日,21:50

#11 楼

上周在移动测试峰会上宣布了一个新的本机/混合iOS应用程序测试框架,名为GitHub上的Appium。显然,由于年龄太小,您可能不愿意使用它。
Appium Git页面上有这样一个说法:和混合iOS应用程序。它使用webdriver JSON有线协议来驱动Apple的UIAutomation。 Appium基于Dan Cuellar在iOS Auto上的工作。与Appium一起使用:
1:Appium在后台使用Apple的UIAutomation库执行自动化,这意味着您无需重新编译或以任何方式进行测试就可以测试其自动化。
2 :通过Appium,您可以使用Selenium WebDriver API和特定于语言的客户端库以选择的编程语言编写测试。如果仅使用UIAutomation,则将需要使用JavaScript编写测试,并且只能通过Instruments应用程序运行测试。借助Appium,您可以使用任何语言以及首选的开发工具来测试本地iOS应用。


#12 楼

昨天我在寻找一种测试iOS应用程序(该应用程序的前端)的工具,我发现了MonkeyTalk(您可以在http://www.gorillalogic.com/book/about-monkeytalk-platform上找到更多信息),这是您要寻找的工具。

我花了两个小时来设置它。该工具可根据您使用该应用程序所做的操作(点击/滚动/等等)创建TC。

#13 楼

我已经使用Test Studio来测试iOS应用程序,发现它很有帮助。以下是我想提到的有关Test Studio的内容:


使用简便
直接在设备上进行测试,以便在实际环境中工作。
根据您的步骤在您面前生成了测试脚本,因此您可以对其进行修改,就像可以修改要传递的参数,超时等。
还有“任务”类型的验证过程,您可以在其中进行验证
如果在测试过程中发生任何崩溃,则崩溃报告将发送到您提供的电子邮件ID。因此,无需每次都连接设备并收集崩溃报告。
您可以通过Telerik提供的门户网站与正在使用的其他设备共享测试用例(注意:门户网站是付费的)。
但是它具有由于不支持循环,因此在其网站上也提到了一些缺点。


#14 楼

我对iPhone的测试是mAutomate。以下是我喜欢的一些有趣功能:


快速事件记录和播放
对文本元素的断言和回归
支持混合应用程序
通过压力测试随机事件的产生
测试用例的可视化表示形式