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

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

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

目录
相关文章
|
16小时前
|
机器学习/深度学习 人工智能 自然语言处理
探索软件测试的未来:AI与自动化的融合
【7月更文挑战第25天】在软件开发的广阔舞台上,软件测试扮演着不可或缺的角色。本文将深入探讨人工智能(AI)和自动化技术如何革新传统的软件测试流程,提升测试效率和准确性。我们将分析AI在缺陷预测、测试用例生成以及测试结果分析中的应用,同时讨论自动化测试工具的最新进展,并展望未来测试技术的发展方向。
6 2
|
1天前
|
机器学习/深度学习 人工智能 测试技术
软件测试的未来:自动化与人工智能的融合
本文将探讨软件测试领域的未来趋势,特别是自动化和人工智能(AI)如何共同塑造这一领域。我们将分析当前的挑战、技术进步以及这些变化如何影响测试工程师的角色和职责。通过具体的统计数据和案例研究,本文旨在为读者提供深入的技术洞察和行业前景预测。
|
2天前
|
机器学习/深度学习 人工智能 算法
探索软件测试的未来趋势:AI与自动化的融合
在技术不断演进的今天,软件测试领域正经历着前所未有的变革。本文将深入探讨人工智能(AI)和自动化技术如何重塑软件测试的面貌,从智能化测试用例生成到持续集成中的自动缺陷识别,我们将揭示这些技术如何提高测试效率、准确性和覆盖率。通过具体案例分析,本文旨在为读者提供对未来软件测试趋势的洞见,并讨论实施过程中的挑战与机遇。
|
2天前
|
机器学习/深度学习 人工智能 算法
探索软件测试的前沿技术:AI与自动化的融合
在数字化时代的浪潮中,软件测试领域正经历着前所未有的变革。本文深入探讨了人工智能(AI)和自动化技术如何重塑软件测试的未来。通过分析最新的行业报告、案例研究和专家访谈,我们揭示了这些技术如何提升测试效率、准确性和灵活性。文章还讨论了实施这些技术的可能挑战和解决方案,为读者提供了宝贵的行业见解和实用建议。
21 6
|
2天前
|
机器学习/深度学习 人工智能 自然语言处理
软件测试的未来趋势:AI与自动化的融合
随着技术的不断进步,软件测试领域正迎来一场革命。本文将探讨人工智能(AI)和自动化技术如何共同推动软件测试的发展,提高测试效率,减少人为错误,并预测未来的发展趋势。通过分析当前市场上流行的测试工具和方法,以及它们如何整合AI和自动化技术,我们将揭示这一领域即将迎来的变革。
10 2
|
3天前
|
机器学习/深度学习 人工智能 测试技术
软件测试的未来:自动化与人工智能的融合
随着技术的不断进步,软件测试领域正经历着一场变革。传统的手动测试方法正在逐渐被自动化测试所取代,而人工智能(AI)的引入则进一步推动了这一进程。本文将探讨自动化测试的现状和未来发展趋势,以及AI如何与自动化测试相结合,提高测试效率和质量。我们将通过具体的案例和数据来展示自动化和AI在软件测试中的应用,并讨论这一趋势对测试人员技能要求的影响。
12 1
|
3天前
|
测试技术
测试过程中如何有效利用自动化测试
测试过程中如何有效利用自动化测试
|
6天前
|
机器学习/深度学习 人工智能 算法
探索软件测试的未来:AI与自动化的融合之路
【7月更文挑战第19天】在数字化时代的浪潮中,软件测试领域正经历着前所未有的变革。随着人工智能(AI)技术的飞速发展和自动化测试工具的不断进步,传统的测试方法正在被重新定义。本文将深入探讨AI如何赋能软件测试,提升测试效率和质量,以及自动化测试在未来软件生命周期中的角色和挑战,为读者揭示一个智能化、高效率的软件测试新纪元。
|
7天前
|
机器学习/深度学习 人工智能 算法
探索软件测试的未来:AI与自动化的融合
【7月更文挑战第18天】本文旨在探讨人工智能(AI)和自动化技术如何共同推动软件测试领域的革新。通过分析当前软件测试面临的挑战,我们将深入讨论AI在提高测试效率、准确性以及发现复杂错误中的作用。文章将展示AI技术如何辅助测试自动化,优化测试用例生成,以及预测潜在缺陷,从而为测试人员提供更智能、高效的测试解决方案。最后,我们将展望AI和自动化技术在未来软件测试中的发展潜力和趋势。
|
8天前
|
机器学习/深度学习 人工智能 算法
探索软件测试的未来:AI与自动化的融合
随着技术的不断进步,软件测试领域正经历着前所未有的变革。本文将深入探讨人工智能(AI)和自动化技术如何重塑软件测试的未来,提升测试效率与准确性。通过分析当前的挑战、技术进步以及未来趋势,我们将揭示AI驱动的自动化测试工具如何成为现代软件开发不可或缺的组成部分。文章旨在为读者提供对即将到来的技术革命的深刻见解,并展示如何利用这些创新来优化测试流程。
16 1