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

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

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

目录
相关文章
|
6月前
|
人工智能 搜索推荐 数据管理
探索软件测试中的自动化测试框架选择与优化策略
本文深入探讨了在现代软件开发流程中,如何根据项目特性、团队技能和长期维护需求,精准选择合适的自动化测试框架。
256 11
|
6月前
|
jenkins 测试技术 持续交付
软件测试中的自动化与持续集成
在现代软件开发过程中,自动化测试和持续集成已成为不可或缺的组成部分。本文将深入探讨自动化测试和持续集成的重要性、优势以及如何有效实施它们以提升软件质量和开发效率。通过具体案例分析,我们将展示这些技术如何在实际项目中发挥作用,并讨论其面临的挑战及应对策略。
196 60
|
6月前
|
Linux Shell 网络安全
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
本指南介绍如何利用 HTA 文件和 Metasploit 框架进行渗透测试。通过创建反向 shell、生成 HTA 文件、设置 HTTP 服务器和发送文件,最终实现对目标系统的控制。适用于教育目的,需合法授权。
177 9
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
|
6月前
|
机器学习/深度学习 人工智能 jenkins
探索软件测试中的自动化与持续集成
【10月更文挑战第21天】 在软件开发的生命周期中,软件测试扮演着至关重要的角色。随着技术的进步和开发模式的转变,自动化测试和持续集成已经成为提高软件质量和效率的关键手段。本文将深入探讨自动化测试和持续集成的概念、实施策略以及它们如何相互配合以优化软件开发流程。我们将通过分析实际案例,展示这些技术如何在实际项目中发挥作用,以及面临的挑战和解决方案。此外,文章还将讨论未来趋势,包括人工智能在测试领域的应用前景。
173 17
|
6月前
|
Java 测试技术 API
探索软件测试中的自动化测试框架
本文深入探讨了自动化测试在软件开发中的重要性,并详细介绍了几种流行的自动化测试框架。通过比较它们的优缺点和适用场景,旨在为读者提供选择合适自动化测试工具的参考依据。
|
6月前
|
数据管理 测试技术 持续交付
软件测试中的自动化测试策略与最佳实践
在当今快速迭代的软件开发环境中,自动化测试已成为确保软件质量和加速产品上市的关键手段。本文旨在探讨软件测试中的自动化测试策略,包括选择合适的自动化测试工具、构建有效的自动化测试框架以及实施持续集成和持续部署(CI/CD)。通过分析自动化测试的最佳实践,本文为软件开发团队提供了一系列实用的指南,以优化测试流程、提高测试效率并减少人为错误。
180 4
|
6月前
|
监控 测试技术 定位技术
探索软件测试中的自动化测试框架选择与实施###
本文不概述传统意义上的摘要内容,而是直接以一段对话形式引入,旨在激发读者兴趣。想象一下,你是一名勇敢的探险家,面前摆满了各式各样的自动化测试工具地图,每张地图都指向未知的宝藏——高效、精准的软件测试领域。我们将一起踏上这段旅程,探讨如何根据项目特性选择合适的自动化测试框架,并分享实施过程中的关键步骤与避坑指南。 ###
109 4
|
3月前
|
机器学习/深度学习 人工智能 运维
机器学习+自动化运维:让服务器自己修Bug,运维变轻松!
机器学习+自动化运维:让服务器自己修Bug,运维变轻松!
158 14
|
8月前
|
运维 Linux Apache
,自动化运维成为现代IT基础设施的关键部分。Puppet是一款强大的自动化运维工具
【10月更文挑战第7天】随着云计算和容器化技术的发展,自动化运维成为现代IT基础设施的关键部分。Puppet是一款强大的自动化运维工具,通过定义资源状态和关系,确保系统始终处于期望配置状态。本文介绍Puppet的基本概念、安装配置及使用示例,帮助读者快速掌握Puppet,实现高效自动化运维。
167 4
|
3月前
|
机器学习/深度学习 人工智能 运维
基于AI的自动化服务器管理:解锁运维的未来
基于AI的自动化服务器管理:解锁运维的未来
417 0