软件测试实验五 自动化测试参考案例

简介: 软件测试实验五 自动化测试参考案例

一、Web自动化测试工具

1. 主流的Web自动化测试工具

1)QTP:是一个商业化的功能测试工具,收费,支持web,桌面自动化测试。

2)Selenium:是一个开源的web自动化测试工具,免费,主要做功能测试。

3)Robot framework:一个基于Python可扩展地关键字驱动的测试自动化框架。

2. 什么是Selenium

Selenium是一个用于Web应用程序的自动化测试工具;中文的意思(硒)

Selenium是一个基于浏览器的自动化工具,它提供了一种跨平台、跨浏览器的端到端的web自动化解决方案。

Selenium主要包括三部分:

· Selenium IDE:浏览器的一个插件(扩展),它可以进行录制回放,并且可以把录制的操作以多种语言(如JAVA、Python、C#等)的形式导出成测试用例。

· Selenium WebDriver: 提供Web自动化所需的API,主要用作浏览器控制、页面元素选择和调试。不同的浏览器需要不同的WebDriver。

· Selenium Grid: 提供了在不同机器的不同浏览器上运行selenium测试的能力。(分布式测试)

这里的框架主要使用Python结合Selenium WebDriver库进行搭建的。通常,一个典型的自动化测试框架一般包括用例管理模板、自动化执行控制器、报表生成模块、日志模块和邮件发送模块等。

3.Selenium特点

1)开源软件:源代码开放可以根据需要来增加工具的某些功能

2)跨平台:linux、windows、mac

3)支持多种浏览器:Firefox、Chrome、IE、Edge、Opera、Safari等

4)支持多种语言:Python、Java、C#、JavaScript、Ruby、PHP等

5)成熟稳定:目前已经被google、百度、腾讯等公司广泛使用

6)功能强大:能够实现类似商业工具的大部分功能,因为开源性,可实现定制化功能

二、Python3+Selenium3+Firefox自动化测试环境搭建

1. Python 开发环境

2. PyCharm编辑器

3. selenium

4. 浏览器

5. 浏览器驱动 -- 保证能够用程序驱动浏览器,实现自动化测试

6. Selenium IDE浏览器插件

1. Python 开发环境:安装Python解释器

Python是一种面向对象的、解释性的、跨平台的而高级程序设计语言,可以用于自动化测试,一方面、Python易学,模块多,类库丰富,有独立的单元测试框架;另一方面,目前很多的自动化测试框架基本都是支持Python的。

Python的下载与安装:

1)登录Python官网的下载页面Download Python | Python.org,根据自己的操作系统选择下载合适的平台及版本。

2)双击下载的文件进入安装界面、安装完成后关闭安装向导程序。

(1)双击下载好的安装包“python-3.8.10-amd64.exe”

(2)勾选添加到环境中,并选择自定义安装

(3)点击“Next”进入下一步

(4)修改安装路径,并点击“Install”开始安装

(5)点击“Close”完成安装

3)配置Python的环境变量。将Python的安装路径及路径下的script目录添加到path环境变量。

4)验证,进入Python环境。打开命令行窗口输入“python”后回车,如果能看到Python的版本信息,如果可以进入解释器,说明安装成功。退出:exit()。

2. PyCharm编辑器的下载和安装

1)进入PyCharm IDE官网下载页面https://www.jetbrains.com/pycharm/download选择下载Community版本(社区版)

2)双击下载好的安装包,一路“Next”即可完成安装,可以修改默认安装路径。

3.安装selenium

1)使用命令行工具安装:PIP工具

pip是一个通用的 Python 包管理工具,提供了对 Python 包的查找、下载、安装、卸载的功能。安装:pip install selenium;卸载:pip uninstall selenium;查看:pip show selenium。

首先打开cmd,直接输入pip install 你想要安装的第三方库

pip install selenium==3.13

注意: selenium目前已经更新到selenium4版本,该版本语法与selenium3有一定区别。为了方便后续学习请下载selenium3版本库。(下载pip进入网站:https://pypi.org/project/pip/

关于pip的一些更新、卸载的方法:

(1)pip 自身的升级:py -m pip install --upgrade pip

(2)pip安装/卸载/升级:

pip install 包名              #安装

pip uninstall 包名            #卸载

pip install --upgrade 包名    #升级

(3)pip查看已安装的包:pip list

(4)pip检查哪些包需要更新:pip list --outdated

(5)pip查看某个包的详细信息:pip show 包名

(6)pip安装指定版本的包:pip install 包名==版本号

例如:pip install numpy==1.20.3   pip install 'matplotlib>3.4'

pip install 'matplotlib>3.4.0,<3.4.3'  #可通过使用==, >=, <=, >, <来指定版本号

2)使用Pycharm中的命令行下载selenium库下载

左下角有一个块状图标-“terminal”。 进入了命令行,左上的加号是新开一个命令行,右上的减号是退出命令行。

3)使用Pycharm中setting进行下载:在setting中下载时注意选择特定版本下载

打开File-Settings-Project-Python Interpreter-+(下方加号。

4.浏览器(设置-常规-关闭自动更新)

5.浏览器驱动(与浏览器版本匹配)

1)下载浏览器驱动程序

不同浏览器都有自己独立驱动程序

不同的浏览器版本需要下载匹配其版本的驱动程序

驱动下载地址

谷歌:http://npm.taobao.org/mirrors/chromedriver/

火狐:https://github.com/mozilla/geckodriver/releases

Edge:https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/

2)配置驱动文件环境变量

把驱动文件所在目录添加到Path环境变量中

或者直接放到Python安装目录,因为Python已添加到Path中

Selenium官网:https:// www.selenium.dev/

三、Python+Selenium3+Firefox自动化测试案例

1. 入门示例

2.1 需求

通过程序启动浏览器,并打开百度首页,输入“Python”,暂停3秒,确认搜索,关闭浏览器

2.2 实现步骤

1. 导包:from selenium import webdriver

2. 创建浏览器驱动对象

Firefox浏览器:driver = webdriver.Firefox()

Chrome浏览器:driver = webdriver.Chrome()

Edge浏览器:driver = webdriver.Edge()

3. 打开Web页面:driver.get("http://www.baidu.com/")

4. 暂停:time.sleep(3)

5. 关闭驱动对象:driver.quit()

2.3 示例代码

1. # 导包
2. 
3. from selenium import webdriver
4. 
5. import time
6. 
7. # 创建浏览器驱动对象
8. 
9. driver = webdriver.Firefox()
10. 
11. # driver = webdriver.Chrome()
12. 
13. # driver = webdriver.Edge()
14. 
15. # 加载web页面
16. 
17. driver.get("http://www.baidu.com/")
18. 
19. #输入Python
20. 
21. driver.find_element (by.id, “kw”).send_keys(“Python”)
22. 
23. # 暂停3秒
24. 
25. time.sleep(3)
26. 
27. # 确认搜索Python
28. 
29. driver.find_element(by.id, “su”).click()
30. 
31. # 关闭驱动对象
32. 
33. driver.quit()

目录
相关文章
|
人工智能 搜索推荐 数据管理
探索软件测试中的自动化测试框架选择与优化策略
本文深入探讨了在现代软件开发流程中,如何根据项目特性、团队技能和长期维护需求,精准选择合适的自动化测试框架。
481 11
|
3月前
|
前端开发 测试技术 API
测试金字塔:别再只盯着UI自动化了
测试金字塔:别再只盯着UI自动化了
440 116
|
3月前
|
敏捷开发 测试技术 API
测试金字塔:构建高效自动化测试策略的基石
测试金字塔:构建高效自动化测试策略的基石
347 116
|
3月前
|
人工智能 自然语言处理 测试技术
从人工到AI驱动:天猫测试全流程自动化变革实践
天猫技术质量团队探索AI在测试全流程的落地应用,覆盖需求解析、用例生成、数据构造、执行验证等核心环节。通过AI+自然语言驱动,实现测试自动化、可溯化与可管理化,在用例生成、数据构造和执行校验中显著提效,推动测试体系从人工迈向AI全流程自动化,提升效率40%以上,用例覆盖超70%,并构建行业级知识资产沉淀平台。
从人工到AI驱动:天猫测试全流程自动化变革实践
|
3月前
|
人工智能 自然语言处理 JavaScript
利用MCP Server革新软件测试:更智能、更高效的自动化
MCP Server革新软件测试:通过标准化协议让AI实时感知页面结构,实现自然语言驱动、自适应维护的自动化测试,大幅提升效率,降低脚本开发与维护成本,推动测试左移与持续测试落地。
|
3月前
|
测试技术 API 数据库
测试金字塔:构建高效自动化测试策略的基石
测试金字塔:构建高效自动化测试策略的基石
371 114
|
5月前
|
存储 人工智能 算法
AI测试平台实战:深入解析自动化评分和多模型对比评测
在AI技术迅猛发展的今天,测试工程师面临着如何高效评估大模型性能的全新挑战。本文将深入探讨AI测试平台中自动化评分与多模型对比评测的关键技术与实践方法,为测试工程师提供可落地的解决方案。
|
6月前
|
JSON JavaScript 测试技术
用Postman玩转电商API:一键测试+自动化请求教程
Postman 是电商 API 测试的高效工具,涵盖基础配置、自动化测试、环境管理与请求自动化,助你快速提升开发效率。
|
9月前
|
jenkins 测试技术 Shell
利用Apipost轻松实现用户充值系统的API自动化测试
API在现代软件开发中扮演着连接不同系统与模块的关键角色,其测试的重要性日益凸显。传统API测试面临效率低、覆盖率不足及难以融入自动化工作流等问题。Apipost提供了一站式API自动化测试解决方案,支持零代码拖拽编排、全场景覆盖,并可无缝集成CI/CD流程。通过可视化界面,研发与测试人员可基于同一数据源协作,大幅提升效率。同时,Apipost支持动态数据提取、性能压测等功能,满足复杂测试需求。文档还以用户充值系统为例,详细介绍了从创建测试用例到生成报告的全流程,帮助用户快速上手并提升测试质量。
|
7月前
|
测试技术 Python
Python接口自动化测试中Mock服务的实施。
总结一下,Mock服务在接口自动化测试中的应用,可以让我们拥有更高的灵活度。而Python的 `unittest.mock`库为我们提供强大的支持。只要我们正确使用Mock服务,那么在任何情况下,无论是接口是否可用,都可以进行准确有效的测试。这样,就大大提高了自动化测试的稳定性和可靠性。
322 0