Calabash提供了一个桥梁,允许Cucumber测试对iOS和Android运行和验证。Cucumber测试使用一列语句写入,这些语句会形成很多测试场景。Cucumber中的所有语句使用Ruby定义。
在Calabash,Cucumber语句只能被定义一次,但可以在Cucumber脚本的不同场景中重复使用。
实际测试是用Gherkin写的,依靠Ruby代码的支持,并在Cucumber框架的上下文中运行。
优点:
◆大型社区支持。
◆简单,类似英语表述的测试语句。
◆支持在屏幕上的所有动作,如滑动,缩放,旋转,敲击等。
◆大型且热心的社区。
◆跨平台开发支持(同样的代码在Android和iOS设备中都适用)。
缺点:
◆测试步骤失败后,将跳过所有的后续步骤。这可能会导致错过更严重的产品问题。
◆需要时间来进行测试,因为它首先总是默认安装app。但是,这种设置可以通过在代码中配置一个钩子(hook)覆盖掉。
◆需要Calabash框架安装在ios的ipa文件中。
◆我们必须要有iOS的app代码。
◆除了Ruby,对其他语言不友好。
2.Appium(Android和iOS)
Appium是Sauce Labs出品的一个开源的自动化测试框架,用于原生、混合和移动的web app。框架内的Appium库函数调用Appium服务器是在操作连接设备的后台运行的。它在内部使用JSONWireProtocol,来与使用 Selenium的WebDriver的iOS和Android app进行互动。
不像Calabash只支持Ruby开发,在框架中使用Appium时,你可以从Java、Python和Ruby,以及所有其他Selenium WebDriver支持的语言中选择。
Appium服务器被托管在Node服务器上。你可以通过触发一组Node命令来启动Appium服务器。使用Appium Standalone Application作为服务器(从Appium网站下载),Inspector工具可对app的所有定位器提供查找/识别/操作的能力。
优点:
◆支持多种语言。
◆不需要访问源代码。
◆跨平台脚本开发。
◆大型社区支持。
◆支持Mac上的脚本记录。
◆使用Appium Server应用程序的Inspector工具提取标识符。
◆通过Appium Server的桌面应用程序对Selendroid内置支持。
◆它还使用供应商提供的框架:适用于iOS的UIAutomation ,分别适用于Android 4.2+和 2.3+的UIAutomator和Selendroid。
◆支持物理设备与仿真器。
◆支持原生,混合和移动的web自动化应用程序。
缺点:
◆Appium Server桌面应用程序的发布常常不稳定。
◆脚本记录不适用于Application服务器对于Windows OS的桌面应用程序。
3.Robotium(Android)
Robotium是一个开源的测试框架,用于开发功能性,系统,和验收测试场景。它与Selenium非常相似,除了Robotium只适用于Android。它注册在Apache License 2.0下。
因为它不但简单,而且又具有创建强大又可靠的自动化场景的能力,因而它在自动化测试社区广泛流行。
它采用运行时绑定到GUI组件。它安装了一个测试用例套件作为在Android设备或仿真器上的应用程序,并提供用于执行测试的真实环境。
优点:
◆容易在最短的时间内编写测试脚本。
◆预装自动化app是可能的。
◆自动跟随当前activity。
◆由于运行时绑定到GUI组件,所以相比Appium,它的测试执行更快,更强大。
◆不访问代码或不知道app实现,也可以工作。
◆支持Activities、Dialogs、Toasts、Menus、Context Menus和其他Android SDK控件。
缺点:
◆不能处理flash和web组件。
◆支持Java开发。
◆在旧设备上会变得很慢。
◆由于不支持iOS设备,当自动化测试同时覆盖 android与iOS的情况时,测试会被中断。
◆没有内置的记录和回放功能. 使用记录功能需要 TestDroid 和 Robotium Recorder 这样收费工具。
4.Frank(iOS)
Frank是一个iOS app的自动化框架,允许使用Cucumber编写结构化英语句子的测试场景。
Frank要求测试时在应用程序内部编译,这意味着对源代码的改变是强制性的。这是一个使用Cucumber和JSON组合命令的工具,命令发送到在本地应用程序内部运行的服务器上,并利用UISpec运行命令。
优点:
◆测试场景是在Cucumber的帮助下,用可理解的英语句子写的。
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数软件测试工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年软件测试全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上软件测试开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注软件测试)
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
容对你有帮助,可以添加V获取:vip1024b (备注软件测试)**
[外链图片转存中…(img-n9iuDEX8-1712953371378)]
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!