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

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

一、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()

目录
相关文章
|
10天前
|
jenkins 测试技术 持续交付
软件测试中的自动化与持续集成:提升效率与质量的关键
在快节奏的软件开发环境中,自动化测试和持续集成已经成为不可或缺的部分。本文将探讨自动化测试和持续集成的重要性,以及它们如何协同工作以提高软件开发的效率和质量。通过分析自动化测试的策略、工具选择以及持续集成的实践,我们将揭示这些技术如何帮助开发团队快速响应变化,减少错误,并加速产品上市时间。
|
9天前
|
人工智能 前端开发 测试技术
探索软件测试中的自动化框架选择与优化策略####
本文深入剖析了当前主流的自动化测试框架,通过对比分析各自的优势、局限性及适用场景,为读者提供了一套系统性的选择与优化指南。文章首先概述了自动化测试的重要性及其在软件开发生命周期中的位置,接着逐一探讨了Selenium、Appium、Cypress等热门框架的特点,并通过实际案例展示了如何根据项目需求灵活选用与配置框架,以提升测试效率和质量。最后,文章还分享了若干最佳实践和未来趋势预测,旨在帮助测试工程师更好地应对复杂多变的测试环境。 ####
33 4
|
9天前
|
机器学习/深度学习 人工智能 jenkins
软件测试中的自动化与持续集成实践
在快速迭代的软件开发过程中,自动化测试和持续集成(CI)是确保代码质量和加速产品上市的关键。本文探讨了自动化测试的重要性、常见的自动化测试工具以及如何将自动化测试整合到持续集成流程中,以提高软件测试的效率和可靠性。通过案例分析,展示了自动化测试和持续集成在实际项目中的应用效果,并提供了实施建议。
|
15天前
|
机器学习/深度学习 前端开发 测试技术
探索软件测试中的自动化测试框架选择与优化策略####
本文深入探讨了在当前软件开发生命周期中,自动化测试框架的选择对于提升测试效率、保障产品质量的重要性。通过分析市场上主流的自动化测试工具,如Selenium、Appium、Jest等,结合具体项目需求,提出了一套系统化的选型与优化策略。文章首先概述了自动化测试的基本原理及其在现代软件开发中的角色变迁,随后详细对比了各主流框架的功能特点、适用场景及优缺点,最后基于实际案例,阐述了如何根据项目特性量身定制自动化测试解决方案,并给出了持续集成/持续部署(CI/CD)环境下的最佳实践建议。 --- ####
|
12天前
|
测试技术 持续交付 Docker
探索软件测试中的自动化策略与挑战
在当今快节奏的软件开发周期中,自动化测试已成为提高产品质量和缩短上市时间的关键。然而,实施有效的自动化测试策略并非易事,它面临着技术选型、脚本维护、环境配置等一系列挑战。本文深入探讨了自动化测试的重要性,分析了常见的自动化测试工具和框架,并讨论了在构建和维护自动化测试体系过程中遇到的主要难题及其解决方案。通过案例分析,本文旨在为软件测试工程师提供实用的指导和建议,以优化他们的自动化测试实践。
|
14天前
|
jenkins 测试技术 持续交付
探索软件测试中的自动化与持续集成
本文深入探讨了软件测试领域中自动化测试和持续集成的融合应用,分析了这种结合如何提升软件开发的效率和质量。通过具体案例分析,展示了自动化测试和持续集成在软件开发生命周期中的关键作用及其实施策略。
|
15天前
|
测试技术 API Android开发
探索软件测试中的自动化框架选择与实践####
本文深入探讨了软件测试领域内,面对众多自动化测试框架时,如何依据项目特性和团队需求做出明智选择,并分享了实践中的有效策略与技巧。不同于传统摘要的概述方式,本文将直接以一段实践指南的形式,简述在选择自动化测试框架时应考虑的核心要素及推荐路径,旨在为读者提供即时可用的参考。 ####
|
17天前
|
jenkins 测试技术 持续交付
软件测试中的自动化测试策略
在当今快速发展的软件行业中,自动化测试已成为确保软件质量和效率的关键工具。本文将探讨自动化测试的重要性、实施策略以及面临的挑战,旨在为软件开发团队提供实用的指导和建议。
|
5天前
|
敏捷开发 测试技术 持续交付
软件测试中的自动化测试策略与最佳实践
【10月更文挑战第21天】 在当今快速迭代的软件开发周期中,自动化测试已成为确保软件质量和加速产品上市的关键工具。本文将深入探讨自动化测试的核心概念、策略选择以及实施过程中的最佳实践。我们将分析不同类型的自动化测试框架,并讨论如何根据项目需求选择合适的工具和技术。此外,我们还将分享一些成功案例和常见的陷阱,帮助读者避免在自动化测试旅程中遇到的潜在问题。通过本文的阅读,您将能够更好地理解自动化测试的价值,并为您的组织制定有效的测试策略。
17 0
|
16天前
|
测试技术 持续交付
软件测试中的自动化测试策略与最佳实践
【10月更文挑战第31天】 在当今快速迭代的软件开发环境中,自动化测试成为确保软件质量和加速产品上市的关键。本文探讨了自动化测试的重要性、实施策略以及一些最佳实践。通过分析不同类型的自动化测试工具和框架,本文旨在为软件开发团队提供一套实用的指导方案,以提高测试效率和质量。
下一篇
无影云桌面