多浏览器支持:Firefox、Chrome、IE、Opera、Edge
多平台支持:Linux、Windows、MAC
多语言支持:Java、Python、Ruby、C#、JavaScript、C++
对web页面有良好的支持,直接运行在浏览器中,模拟用户的操作
简单(API简单)灵活(用开发语言驱动)
支持分布式测试用例执行
Selenium目前主要包括以下几个套件:
Selenium IDE:IDE是一个Firefox插件,可以录制用户的基本操作,生成测试用例
Selenium RC:RC为核心部分
Selenium RC分为Client Libraries(编写测试脚本)和 Selenium Server(控制浏览器行为)
Selenium WebDriver:WebDriver前身是Selenium RC,可以看作是Selenium RC的替代品,直接发送命令给浏览器,并检索结果。
Selenium Grid:网格用于运行在不同的机器,不同的浏览器并行测试的工具,目的在于加快测试用例运行的速度,从而减少测试运行的总时间。
官网地址:https://www.selenium.dev/
02 Appium(自动化测试)
Appium 是什么?
Appium是一个开源的,适用于原生或混合移动应用( hybrid mobile apps )的自动化测试工具,Appium应用WebDriver:JSON wire protocol驱动安卓和iOS移动应用
Appium的特点:
支持多平台(Android、iOS等)
支持多语言(python、java、ruby、js、c#等)
Appium是跨平台的,可以用在OSX,Windows以及Linux桌面系统上运行。
Appium选择了Client/Server的设计模式。只要client能够发送http请求给server,那么的话client用什么语言来实现都是可以的,这就是如何做到支持多语言的原因;
Appium扩展了WebDriver的协议,没有自己重新去实现一套。这样的好处是以前的WebDriver API能够直接被继承过来,以前的Selenium(WebDriver)各种语言的binding都可以拿来就用,省去了为每种语言开发一个client的工作量。
03 Airtest(自动化测试)
Airtest 是一个跨平台的、基于图像识别的UI自动化测试框架,适用于游戏和App,支持平台有Windows、Android和iOS
Airtest提供了跨平台的API,包括安装应用、模拟输入、断言等。基于图像识别技术定位UI元素,你无需嵌入任何代码即可进行自动化测试。 测试脚本运行后可以自动生成详细的HTML测试报告,让你迅速定位失败的测试点。
AirtestIDE 是一个强大的GUI工具,可以帮助你录制和调试测试脚本。AirtestIDE给QA人员提供了完整的工作流程支持:录制脚本->真机回放->生成报告
官网:https://airtest.netease.com/
04 禅道(项目管理)
禅道是第一款国产的开源项目管理软件,核心管理思想基于敏捷方法scrum,内置了产品管理和项目管理,同时又根据国内研发现状补充了测试管理、计划管理、发布管理、文档管理、事务管理等功能,在一个软件中就可以将软件研发中的需求、任务、bug、用例、计划、发布等要素有序的跟踪管理起来,完整地覆盖了项目管理的核心流程。
官网地址:https://www.zentao.net/index.html
05 Jira Software(项目管理)
JIRA Software是Atlassian公司出品的项目与事务跟踪工具,被广泛应用于缺陷跟踪、客户服务、需求收集、流程审批、任务跟踪、项目跟踪和敏捷管理等工作领域。
官网地址:https://www.atlassian.com/zh/software/jira
06 pytest(单元测试)
pytest是python语言中一款强大的单元测试框架,用来管理和组织测试用例,可应用在单元测试、自动化测试工作中。
pytest的特征如下:
自动识别测试用例
简单的断言表达:assert 表达式即可
有测试会话、测试模块、测试类、测试函数级别的fixture
有非常丰富的插件,目前在600+,比如allure插件
测试用例不需要封装在测试类当中
官网地址:http://pytest.org/
07 unittest(单元测试)
UnitTest是Python自带的一个单元测试框架,用它来做单元测试。也经常应用到UI自动化测试和接口自动化测试中,用来管理和维护测试用例脚本
使用UnitTest框架的好处:
能够组织多个用例去执行(可以把多条测试用例封装成一个测试套件,实现批量执行测试用例)
提供了丰富的断言方法,方便对用例执行的结果进行判断
能够生成HTML格式的测试报告
使用Fixture功能可以减少代码的冗余
UnitTest核心要素:
TestCase:通过继承TestCase类,我们可以创建一个test,或者一组tests
TestFixtures:setup + test_case + teardown结构
TestSuite:测试套件,多条测试用例集合在一起,就是一个TestSuite使用
TestRunner:TextTestRunner是用来执行测试用例和测试套件的
官网地址:http://docs.python.org/zh-cn/3/library/unittest.html
08 TestNG(单元测试)
TestNG是一个测试框架,其灵感来自JUnit和NUnit,但同时引入了一些新的功能,使其功能更强大,使用更方便。
TestNG设计涵盖所有类型的测试:单元,功能,端到端,集成等,它需要JDK5或更高的JDK版本。
TestNG 核心特性是多线程测试执行,数据驱动的测试支持,使用 JDK 方式提供日志和运行,借助 IDE 插件或使用了 build.xml 的 Apache Ant,从而得以灵活执行。
TestNG的优点:
漂亮的HTML格式测试报告
支持并发测试
参数化测试更简单
支持输出日志
支持更多功能的注解
官网地址:https://testng.org/
09 JUnit(单元测试)
JUnit 是一个 Java编程语言的单元测试框架,用于编写和运行可重复的测试。JUnit 在测试驱动的开发方面有很重要的发展,是起源于 JUnit 的一个统称为 xUnit 的单元测试框架之一。
它包括以下特性:
用于测试期望结果的断言(Assertion)
用于共享共同测试数据的测试工具
用于方便的组织和运行测试的测试套件
图形和文本的测试运行器
官网地址:https://junit.org/junit5/
10 JMeter(性能测试)
JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。
JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。
另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。
官网地址:https://jmeter.apache.org/
喜欢软件测试的小伙伴们,如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一 键三连哦!
软件测试工程师自学教程:
版权归原作者 2401_86950245 所有, 如有侵权,请联系我们删除。