对于移动自动化,Appium VS Calabash 和 Calabash VS Appium 的优势是啥?

Posted

技术标签:

【中文标题】对于移动自动化,Appium VS Calabash 和 Calabash VS Appium 的优势是啥?【英文标题】:For mobile automation what are the advantages of Appium VS Calabash and of Calabash VS Appium?对于移动自动化,Appium VS Calabash 和 Calabash VS Appium 的优势是什么? 【发布时间】:2017-02-07 14:30:47 【问题描述】:

我在 iosandroid 的移动自动化中使用了 Appium。我想知道提供 Calabash 的优势,以及这两种工具的生成脚本是否有共同点?

我已点击此链接:Appium VS Calabash

【问题讨论】:

,很好的询问感谢 仅供参考,Calabash 自 2017 年 4 月以来已停止积极开发(?),因此这可能是您比较过程的一部分。但话又说回来,Calabash 可能会被开源社区接受并继续存在。 developer.xamarin.com/guides/testcloud/calabash/… 【参考方案1】:

我已经将葫芦和 appium 都用于自动化。 Appium 比葫芦更有优势。

Appium 相对于 Calabash 的优势: 1. 你可以用Java、Python、C#、php 等多种语言编写代码。但是,Calabash 限制只能使用 RUBY。

    Appium 自带了许多预定义的方法,例如 OpenNotification()、StartActivity()、InstallApp 等。Calabash 不提供这些预定义的方法。

    与 Calabash 相比,Appium 的设置非常简单。

    在 calabash 中,每次运行测试时它都会在设备上安装应用程序。但是,在 appium 中,您有一个功能,您不需要每次都安装该应用程序。它适用于设备上以前安装的应用程序。

    Appium 可用于原生应用和混合应用。

appium 有很多优点。我希望这会有所帮助。

【讨论】:

非常感谢您的回答。这就是我需要一些可以同时使用并确认哪一个具有更多优势的东西:D Kiran Sk,您应该在创建会话时省略功能中的 app 属性并改为设置 bundleId。【参考方案2】:

由于您已经阅读了这些差异,因此需要注意的一点是 Calabash 也可以与 Xamarin 一起使用,这也是测试混合应用程序的好工具,您可以为 ios 和 android 应用程序运行相同的脚本,只需进行一些小的更改。而且它现在已经集成到 Visual Studio 中,所以微软的支持是不可避免的,一些用户可能会感到舒适。Lambda 表达式也是一个加号。Calabash 的一个重大挫折是它只使用 ruby​​。

另一方面,Appium 可以支持各种语言,而且您也可以使用 webdriver。但是它在混合应用程序中遇到了困难,但您可以通过使用 google chrome 移动视图来查找坐标以单击来克服该功能。一件事可以肯定的是,sause 实验室在 Appium 中还有许多 bug 需要修复。

【讨论】:

感谢您的回答:D【参考方案3】:

我在移动自动化方面已经有很长一段时间了。让我谈谈我对这两种工具的看法。

两者各有优劣,见下:

【讨论】:

非常感谢,它看起来真的很有帮助;) 这个答案应该被接受为最准确和最有帮助的恕我直言 这个答案中 imgur 图像的丢失使其无用。【参考方案4】:

自动化脚本中没有共同的部分,因为 Calabash 使用查询交互元素,但 Appium 使用 selenium 查找功能。

Calabash 最好的部分是您可以使用 cross-platform 框架来自动化具有相同功能文件和大部分自动化代码的 ios 和 android 应用程序。然而最糟糕的是,Calabash 只是 Ruby。

请查看this post,了解更多有关 Calabash 和 Appium 差异的详细信息。

【讨论】:

【参考方案5】:

你自己试试。 我发现葫芦更容易上手。我在 Calabash 中完成了从设置到工作测试的完整用户流程测试,花费的时间是 Appium 的一半。 我不喜欢使用 xpath。如果布局中的某些内容发生变化,它会使测试变得脆弱并且容易损坏。 Appium 主要需要使用 xpath。 Calabash 允许您通过文本选择元素来驱动操作和交互。我更喜欢这个,因为相同的文本通常出现在设计和/或要求中。 其他帖子中的一些cmets不准确。 Calabash 不需要每次都安装应用程序,除非您不看表面。有一种简单的方法可以启用/禁用它。我有基于传递参数以任何方式运行的逻辑。 Calabash 有足够多的现有方法来与您的应用程序交互。它有一个内置调试,允许您修改元素交互,并且可以在您的测试代码中复制和重用这些相同的调用。将它与 getgauge.io 一起使用可以提供类似于内置 Cucumber 的报告,但更容易运行多线​​程并且更容易编写您的功能/规范文件。

对工具和自己都公平。在每个项目中创建一个简单的项目,然后自己尝试。不要仅仅根据别人的意见做出决定。

【讨论】:

以上是关于对于移动自动化,Appium VS Calabash 和 Calabash VS Appium 的优势是啥?的主要内容,如果未能解决你的问题,请参考以下文章

python appium环境搭建

appium启动手机app后怎么执行脚本

移动UI自动化测试Appium

测试Appium原理

移动端自动化自动化(Android&iOS)——Appium

Appium移动自动化测试--Mac安装Appium