Web端和App端自动化框架整理

前言

Web端和App端自动化框架整理

一、框架整理

1.Web端

1.1Selenium

Selenium 是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera,Edge等。这个工具的主要功能包括:测试与浏览器的兼容性——测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上。测试系统功能——创建回归测试检验软件功能和用户需求。支持自动录制动作和自动生成 .Net、Java、Perl等不同语言的测试脚本。(摘自百度百科)

1.2pyppeteer

Puppeteer 是 Google 基于 Node.js 开发的一个工具,有了它我们可以通过 JavaScript 来控制 Chrome 浏览器的一些操作,当然也可以用作网络爬虫上,其 API 极其完善,功能非常强大。

2.App端

2.1 Instrumentation

早期Google提供的Android自动化测试工具类,开发语言Java,Instrumentation允许你对应用程序做更为复杂的测试,甚至是框架层面的,是很多其它测试框架的基础,可以在同进程中加载被测组件。
缺点是,由于是白盒测试,基于谷歌安全性所以不支持跨app,同时也只是基于android的测试框架。
基于Instrumentation拓展的开源框架有Robotium、Espresso、Selendroid等都有着同样的问题。

2.2 UI Automator

Google开源框架,开发语言java,有点在于操作简单,不需要对被测程序进行重签名,且可以测试所有设备上的程序,可实现跨App,对于控件定位,要比robotium简单一些。
缺点是Ui Automator需要android level 16以上才可以使用,因为在level 16及以上的API里面才带有uiautomator工具,如果想要使用resource-id定位控件,则需要level 18及以上才可以,对中文支持不好(不代表不支持,第三方jar可以实现),同样也只是基于android的测试框架。

2.3 MonkeyRunner

支持语言java和Python,能完全模拟人工所有操作,API文档丰富,可以写出智能图像对比脚本,支持java和Python两种语言脚本。
缺点是脚本移植性差,不支持跨平台,MonkeyRunner不支持断言只支持截图之间的对比。

2.4 Appium

很成熟的开源框架,在Android 4.2以上是用UiAutomator,Android 2.3 ~ 4.1用的是 Instrumentation,也就说Appium同时封装了UiAutomator和Instrumentation。所以Appium拥有了以上几大框架的所有优点:跨App,支持Native App、Hybird App、Web App,还支持N种语言来编写你的测试脚本,同时它是一个跨平台的工具,即它允许测试人员在不用的平台(IOS,Android),使用不同的开发语言(java,python,ruby等等),使用同一套API来编写测试脚本,这大大增加了IOS和Android的代码的复用性。

总结

ui自动化测试框架有很多,但主流是selenium,appium。这个根据公司的需要和项目进度进行选择
selenium可以参考的文章:https://selenium-python-zh.readthedocs.io/en/latest/getting-started.html

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取 

猜你喜欢

转载自blog.csdn.net/okcross0/article/details/131483727
今日推荐