我一直在编写Selenium Browser自动化测试,现在我想开始为Android和IPhone编写移动浏览器自动化测试。我决定在Appium框架与Selenium AndroidDriver和IPhoneDriver之间进行选择。是否有人在这些框架上有经验,并且知道哪个框架更容易从Selenium Browser自动化中跳入?还有哪个框架看起来是最活跃,最受支持的,并且可能是将来开发的一个不错的选择?

#1 楼

Appium和AndroidDriver / iPhoneDriver之间的主要区别是架构性的。

AndroidDriver / iPhoneDriver的基本工作方式相同-它们是您在手机上启动的应用程序,可创建可使用硒进行远程控制的Web视图。这种方法的局限性是:


无法控制硬件/操作系统。
Webview不是真正的浏览器,因此某些行为是不同的(位置,iframe,重置数据)等)。
您仅限于与Webview交互-无法测试本机代码。

Appium通过包装第一方自动化框架(适用于iPhone的UIAutomator和UI自动化/ Android的工具)。除了不遭受上述问题之外,主要优点还包括:


您可以驱动具有所有浏览器功能的实际浏览器。
操作系统控制-您可以更改操作系统设置,清除数据和睡眠应用程序,以及操作系统公开的用于测试的所有挂钩。
除了Web测试之外,您还可以自动执行本机代码。

最后,iPhoneDriver已正式弃用,因此将来不要期望对该应用程序进行任何增强或重大更改。 Appium会定期更新,并且很可能会与新版本的操作系统兼容。

如果您已经为台式机浏览器编写了硒测试,那么Appium不会遇到太多麻烦。主要的“陷阱”将被设置-我建议您在IRC上跳转#appium或通过电子邮件发送appium-discuss邮件列表,友好的人们乐意为您提供帮助。 Appium的#1优势是令人惊叹的社区。

#2 楼

我使用了很多框架,以我个人的经验,appium比其他框架更容易,更简单,更强大。我曾尝试过葫芦,鸦片,ranorex。每周appium都有更新和错误修复。而且个人认为python绑定是一种祝福。

#3 楼

我建议使用Appium,因为流行的测试实验室Sauce Labs正在使用它,因此看起来它会更加活跃并获得更多支持。
https://saucelabs.com/mobile