自动化测试 | 自动化测试框架:面试要求中出现频次最高的TOP6自动化测试工具,学会这些你就很牛了!

1、常用自动化测试工具
自动化测试是软件测试中的一个专项测试,是测试的一个重要环节,也是当前软件测试中很流行的一项测试技术,那么自动化测试常用的框架和工具有哪些呢,下面来介绍一下当前市面上使用频率较高的TOP6自动化测试工具。

1.1 Pytest
pytest是一个非常成熟的全功能的Python测试框架,主要有以下几个特点:

(1)简单灵活,容易上手。

(2)支持参数化。

(3)能够支持简单的单元测试和复杂的功能测试,还可以结合selenium/appnium等做自动化测试、接口自动化测试(pytest+requests)。

(4)pytest具有很多第三方插件,并且可以自定义扩展,比较好用的如pytest-selenium(集成selenium)、pytest-html(完美html测试报告生成)、pytest-rerunfailures(失败case重复执行)、pytest-xdist(多CPU分发)等。

(5)测试用例的skip和xfail处理。

(6)可以很好的和jenkins集成。

(7)report框架,allure 也支持pytest。

主要用途:接口自动化测试+web自动化测试

1.2 Unittest
unittest是Python单元测试框架,unittest是python自带的一个单元测试框架,类似于java的Junit框架,基本结构是类似的。

unittest单元测试框架不仅可以适用于单元测试,还可以适用WEB自动化测试用例的开发与执行,该测试框架可统筹执行测试用例,并且提供了丰富的断言方法,判断测试用例是否通过,最终生成测试结果。

主要用途:接口自动化测试+web自动化测试

1.3 Requests
requests是python第三方的HTTP模块库。它基于urllib,又比urllib更加简单高效。功能强大,语法简洁。

Requests继承了urllib的所有特性。Requests支持http连接保持和连接池,支持使用cookie保持会话,

支持文件上传,支持自动确定响应内容的编码,支持国际化的URL和POST数据自动编码。

支持Get、Post、Put、Delete、Head、Options等HTTP请求。

主要用途:接口自动化测试

1.4 Appium
appium 是一个自动化测试开源工具,支持 iOS 平台和 Android 平台上的原生应用、web应用和混合应用。

“移动原生应用”是指那些用iOS或者 Android SDK 写的应用(Application简称app)。

“移动web应用”是指使用移动浏览器访问的应用(appium支持iOS上的Safari和Android上的 Chrome)。

“混合应用”是指原生代码封装网页视图——原生代码和 web 内容交互。比如,像Phonegap,可以帮助开发者使用网页技术开发应用,然后用原生代码封装,这些就是混合应用。

重要的是,appium是一个跨平台的工具:它允许测试人员在不同的平台(iOS,Android)使用同一套API来写自动化测试脚本,这样大大增加了iOS和Android测试套件间代码的复用性。

主要用途:APP自动化测试

1.5 Selenium
Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。

Selenium 是最广泛使用的开源 Web UI(用户界面)自动化测试套件之一。

Selenium工具的主要功能包括:

测试与浏览器的兼容性——测试应用程序看是否能够很好的工作在不同浏览器和操作系统之上。

测试系统功能——创建回归测试检验软件功能和用户需求。支持自动录制操作和自动生成.Net、Java、Perl等不同语言的测试脚本。

Selenium 支持的语言包括C#,Java,Perl,PHP,Python 和 Ruby。目前,Selenium Web 驱动程序最受 Python 和 C#欢迎。

Selenium测试脚本可以使用任何支持的编程语言进行编码,并且可以直接在大多数现代 Web 浏览器中运行。

Selenium支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera,Edge等。

在爬虫领域 selenium 同样是一把利器,能够解决大部分的网页的反爬问题。

主要用于自动化测试、爬虫模拟人工操作浏览器。

主要用途:web自动化测试、爬虫模拟人工操作浏览器

1.6 Robot Framework
Robot Framework是一款python编写的功能自动化测试框架。具备良好的可扩展性,支持关键字驱动,可以同时测试多种类型的客户端或者接口,可以进行分布式测试执行。主要用于轮次很多的验收测试和验收测试驱动开发(ATDD)。

特性:

(1)测试用例使用文本文件(TXT或者TSV文件)保存,使用制表符分隔数据。可以方便的使用任何文本编辑器,或者EXCEL编辑测试用例。也可以使用HTML格式创建用例。

(2)测试用例中支持变量使用,可以使用IF语句和FOR循环语句。

(3)可以利用“标签”功能对测试用例进行分类和有选择执行。

(4)支持关键字驱动、数据驱动和行为驱动。

(5)利用已有的关键字,测试人员可以创建自己需要的关键字,形成更高级别的行为。

(6)测试执行报告和日志是HTML格式,容易阅读。

(7)Robot Framework并不是一款像QTP一样的自动化测试工具。它是一个自动化测试框架,或者说是一个自动化测试平台。

(8)提供了测试执行事件的监听接口,并且可以自定义接口中的脚本。例如,某个用例执行前,“start_test”接口中的脚本就会被执行;用例执行结束后,“end_test”接口中的脚本就会被执行。而测试人员可以自定义“start_test”、“end_test”这两个接口的脚本。

(9)提供了命令行接口和XML格式的输出。可以与版本管理工具结合,进行持续集成。

(10)Robot Framework是通过测试库识别被测对象、操纵被测对象,有很多自带的或者第三方的开源测试库。例如,使用“selenium2Library”库测试web客户端。此外还可以测试java客户端、Win32客户端、SSH协议的字符终端等。

(11)测试人员可以使用Python和java创建自己需要的测试库。

(12)提供了远程测试执行接口,可以进行分布式测试执行。

主要用途:web自动化测试+APP自动化测试

本章总结:
自动化测试是软件测试中的一个重要环节,也是当前软件测试中很流行的一项测试技术,熟练掌握自动化测试常用的框架和工具,会让我们的自动化测试更高效。

(1)Pytest:主要用于接口自动化测试+web自动化测试。

(2)Unittest:主要用于接口自动化测试+web自动化测试。

(3)Requests:主要用于接口自动化测试。

(4)Appium:主要用于APP自动化测试。

(5)Selenium:主要用于web自动化测试+爬虫模拟人工操作浏览器。

(6)Robot Framework:主要用于web自动化测试+APP自动化测试。

总结:

感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

自动化测试 | 自动化测试框架:面试要求中出现频次最高的TOP6自动化测试工具,学会这些你就很牛了!_第1张图片

  视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。      

你可能感兴趣的:(自动化测试,软件测试,技术分享,面试,测试工具)