什么是功能测试和黑盒测试
- Functional testing(功能测试),也称为behavioral testing(行为测试)或UI层测试
- 根据产品特性、操作描述和用户方案,测试一个产品的特性和可操作行为以确定它们满足设计需求。是对产品的各功能进行验证,根据功能测试用例,逐项测试,检查产品是否达到用户要求的功能。
- 黑盒测试(Black-box Testing,又称为功能测试):
- 是把测试对象看作一个黑盒子。利用黑盒测试法进行动态测试时,需要测试软件产品的功能,不需测试软件产品的内部结构和处理过程。
如何高效地完成功能测试
- 如何高效地完成功能测试?
- 选择一款合适的功能测试工具并培训一支高素质的工具使用队伍无疑是至关重要的。
- 用于功能测试的工具软件有很多,针对不同架构软件的工具也不断推陈出新。这里重点介绍的是其中一个较为典型自动化测试工具,即Selenium。
selenium
- 是功能自动化测试工具,主要用于测试PC端的Web应用程序(B/S)
- Selenium只能操作浏览器,不能操作电脑安装的客户端(C/S)
- 开源免费
- 支持多语言(Java、python)
- Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。
- 是由Jason Huggins在Thoughtworks公司任职时开发。
- 2004年研发出来,2016年推出3.0版本,2021年4.0版本
selenium主要用途
- 回归测试
- 版本迭代时,避免重复的劳动
- 兼容性测试
- 测试Web程序在不同的操作系统和不同的浏览器里能否运行
- 大数据量测试
- 使用多组测试数据进行测试
注意:节约人力成本、用于重复性的测试工作
- 使用多组测试数据进行测试
Selenium使用限制
- 网络上软件系统大致可以分为B/S和C/S结构的。
- C/S和B/S各有优势,C/S在图形的表现能力上以及运行的速度上肯定是强于B/S模式的,不过缺点就是他需要运行专门的客户端,而且更重要的是它不能跨平台,所以目前我们软件公司里开发的软件中B/S占大多数。
- 注意:只能用Selenium来测试Web应用程序(B/S结构),不能用它来测试C/S结构的软件。
- 如果要测试C/S结构的软件,需要使用其他自动化测试工具,比如UFT(QTP)、AutoIt等。
Selenium的优点
-
开源免费
-
支持多种操作系统 :
-
Selenium官方支持所有的主流浏览器:
-
Selenium官方支持很多主流编程语言:
Selenium发展时间线
Selenium起源
- 2004年,Thoughtworks的员工Jason Huggins编写了一个名为JavaScriptTestRunner的测试工具,该工具进一步进化为一个可以复用的测试框架并开源。同时其他工程师修改架构为独立服务模式,期间有多位开发人员加入开发并推出了Selenium RC和Selenium-IDE。
- Jason Huggins 2007年从Thoughtworks离职并加入Selenium support团队,同年Google多名员工加入开发,并在GTAC会议上介绍了Selenium在Google的使用情况。
Selenium官网
- https://www.selenium.dev/
- Selenium的三大组件:WebDriver、IDE、Grid
- Webdriver : 提供了一套用于操作浏览器的API,有很多函数、类、变量、模块供我们使用
- Selenium IDE : 集成开发环境、功能有限
- Selenium Grid : 表格、用于做分布式测试、提升测试效率、是辅助工具
Selenium的原理(主要运用WebDriver)
- 可以模拟浏览器里的操作
- 自动化测试程序代码好比是客户端
- 驱动程序好比服务器,接受客户端程序发来的请求,转换为浏览器能识别的命令进行操作
- 注意:不同的浏览器,需要不同的驱动程序
- 浏览器把操作的结果(启动浏览器、打开网页、找到文本框进行输入、找到按钮进行点击等)返回给驱动程序
- 驱动程序再把最终结果返回给自动化测试程序(自动化测试脚本/案例)
- 重复发送请求直到所有操作都自动完成
- 断开连接,退出驱动程序,浏览器关闭
搭建被测环境 Ecshop
- Ecshop是一个电子商务平台,主要用于买家与卖家进行商品交易的一款Web应用程序
- 技术: MySQL、PHP、Apache
- http://localhost/upload/ 前台(顾客)
- 账号自己注册
- http://localhost/upload/admin/privilege.php?act=login 后台管理中心(商家)
- 后台用户名: admin 密码:admin123
Selenium自动化测试环境
Python、Pycharm、Selenium、Firefox、Windows
安装selenium的3.141.0版本: pip install selenium==3.141.0 -i https://pypi.douban.com/simple
验证环境
# 检查selenium环境 及 火狐浏览器环境
# 从selenium模块中导入子模块webdriver
from selenium import webdriver
# 实例化火狐浏览器
driver = webdriver.Firefox()
# 打开百度网页
driver.get('http://www.baidu.com')
# 退出浏览器
driver.quit()
标签:浏览器,驱动程序,Selenium,selenium,介绍,Selenium01,功能测试,测试
From: https://www.cnblogs.com/sean-test/p/16967232.html