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

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

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

目录
相关文章
|
2天前
|
XML 测试技术 数据格式
软件测试之 自动化测试 基于Python语言使用Selenium、ddt、unitTest 实现自动化测试(下)
软件测试之 自动化测试 基于Python语言使用Selenium、ddt、unitTest 实现自动化测试(下)
10 3
|
1天前
|
人工智能 测试技术 持续交付
探索软件测试的未来:AI与自动化的交汇点
【6月更文挑战第26天】本文旨在探讨软件测试领域的未来趋势,特别是人工智能(AI)和自动化技术如何改变传统的测试方法。通过分析当前测试实践的局限性,文章将阐述AI和自动化技术带来的创新解决方案,并讨论这些技术如何提高测试效率、准确性和可扩展性。最后,我们将展望这些技术发展对测试工程师角色的影响及其所需的技能转变。
|
2天前
|
测试技术 Android开发 流计算
软件测试之 单元测试
软件测试之 单元测试
8 2
|
2天前
|
测试技术 Windows
软件测试之 性能测试 性能测试基础指标 Loadrunner、Jmeter等工具(下)
软件测试之 性能测试 性能测试基础指标 Loadrunner、Jmeter等工具(下)
6 2
|
2天前
|
存储 JSON 测试技术
软件测试之 接口测试 Postman使用(下)
软件测试之 接口测试 Postman使用(下)
12 2
|
2天前
|
机器学习/深度学习 人工智能 自然语言处理
探索软件测试的未来:自动化与AI的融合
在软件开发的生命周期中,测试一直扮演着关键角色。随着技术的发展,传统的软件测试方法正逐渐让位于自动化和人工智能(AI)技术。本文将探讨自动化测试的现状、挑战以及AI如何被整合进测试流程中,以提高测试效率和准确性。我们将通过实际案例分析,展示自动化测试工具和AI算法如何协同工作,以及它们对测试工程师技能要求的影响。最后,文章将预测这些技术发展对未来软件测试领域的潜在影响。
13 1
|
2天前
|
测试技术 程序员
软件测试之 性能测试 性能测试基础指标 Loadrunner、Jmeter等工具(上)
软件测试之 性能测试 性能测试基础指标 Loadrunner、Jmeter等工具(上)
10 1
|
2天前
|
测试技术 数据格式
软件测试之 接口测试 Postman使用(上)
软件测试之 接口测试 Postman使用(上)
11 1
|
2天前
|
Java 测试技术 程序员
软件测试之 自动化测试 基于Python语言使用Selenium、ddt、unitTest 实现自动化测试(上)
软件测试之 自动化测试 基于Python语言使用Selenium、ddt、unitTest 实现自动化测试(上)
13 1
|
7天前
|
Java 测试技术 Python
《手把手教你》系列基础篇(八十)-java+ selenium自动化测试-框架设计基础-TestNG依赖测试-番外篇(详解教程)
【6月更文挑战第21天】本文介绍了TestNG中测试方法的依赖执行顺序。作者通过一个实际的自动化测试场景展示了如何设计测试用例:依次打开百度、搜索“selenium”、再搜索“selenium+java”。代码示例中,`@Test`注解的`dependsOnMethods`属性用于指定方法间的依赖,确保执行顺序。如果不设置依赖,TestNG会按方法名首字母排序执行。通过运行代码,验证了依赖关系的正确性。
30 4