产出:自动测试脚本+测试用例+开题报告+自动化测试报告+论文+jmeter性能测试
--------------------**论文主要内容***-----
第1章 吉屋web端需求分析
1.1 吉屋web端功能需求分析
由于社会对知识获取的需求不断增长,海量繁多的房屋信息已难以依靠传统人工高效处理。在这种情况下,吉屋web端就显得尤为关键。吉屋web端是以通用的信息技术为支撑,其核心目标是为房屋的管理者提供更高效便捷的管理手段。下面将依次介绍吉屋web端管理功能。
(1)新房筛选查询:用户可按区域、按价格区间、按户型筛选、同时按区域、价格筛选等筛选条件操作。
(2)二手房查询:用户可以按区域筛选、按均价筛选、按楼龄筛选、同时按区域、均价筛选等功能
(3)帮我找房:用户可以按期望区域和预算找房、按期望户型、同时按区域、预算和户型找房,可以选择不限进行立即找房。
(4)工具箱:含房贷计算、税费计算。使用者可进行计算贷款,如按面积、公积、组合贷款、商贷、税费、贷款金额为 0 、贷款年限下拉选择等功能。
(5)楼市看点:用户只需输入楼盘名称即可查询。
(6)登录:要输入手机号和验证码登录,也可采用账密登录方式。
第2章 吉屋web端功能测试实施
2.1 功能测试环境准备
在进行自动化测试之前,需要先搭建合适的自动化测试环境。首先,应安装Python并正确配置其环境变量。随后,需安装Pip包管理工具以确保后续依赖项的顺利管理。通过在Cmd命令行中输入Python命令并确认显示正确的版本信息,可以验证安装是否成功。如下图 5.1 验证 Python 安装成功示意图所示。
图5.1 Python安装成功示意图
随后,需要下载 PyCharm 开发环境并安装 Selenium 库。Selenium 的安装可以通过两种方式进行:一是在命令行工具 Cmd 中输入 pip install -U selenium命令来完成;二是在 PyCharm 内部集成的包管理器中直接进行安装。图 5.2展示了 Selenium 安装的具体步骤和界面。
图5.2 Selenium安装示意图
需选与电脑谷歌版本号匹配的谷歌驱动 Chromedriver ,将它放到Python的安装文件夹下。如图5.3谷歌驱动存放目录示意图所示。
图5.3 Chromedriver存放目录示意图
2.2 编写测试脚本
本课题自动化测试脚本含用户登录、新房筛选、二手房查询等功能模块,tests存放测试用例,pages存放页面元素,base存放页面元素的二次封装,utils用于存放工具类,reports用于存放报告,screenshot存放截图,run是程序的主入口,其目录结构如下图5.4所示:
图5.4项目目录列表示意图
本次自动化测试脚本,首先对整体进行了一个底层封装,放入一些常用的页面操作,提高代码的可重用性和可维护性。如下图底层封装代码示意图所示
图5.5底层封装代码示意图
针对登录模块的元素定位和测试数据进行了封装处理。常用的元素定位方法有三种,前文已作详细介绍,此处采用了最为常见的 XPATH 定位方式。随后,对测试数据和测试步骤也进行了封装。具体实现方式如图所示的登录模块封装代码示意图。
图5.6登录模块封装代码示意图
本次课题采用了 Pytest 框架,在执行测试之前,首先打开浏览器并进行登录操作。针对登录功能,共编写了7条测试用例,每条用例根据不同的登录场景进行相应的输入和点击操作。代码中的操作、定位元素及数据都是调用封装的函数实现。具体登录模块的测试代码结构如图所示。
图5.7测试代码结构示意图
本课题的吉屋web端自动化测试总共编写脚本6个,总共15条测试用例,以下是部分主要代码:
图5.8部分代码示意图1
图5.9部分代码示意图2
图5.10部分代码示意图3
2.3 测试结果分析
在本次自动化中,共运行6个测试脚本,15条测试用例。测试未发现Bug。测试结果见下图。
图5.11测试报告示意图
第3章 吉屋web端性能测试实施
3.1 性能测试环境准备
- 下载 JDK
下载特定的 JDK,需要匹配电脑,下载后配置环境,最后通过 Cmd 命令java -version查看是否安装成功,如下图所示。
图6.1检验安装成功示意图
- 下载安装 JMeter
下载指定版本的 JMeter 后,在安装过程中应确保将其放置在纯英文路径的目录中,避免安装目录含空格。进行环境变量的配置:创建名为 JMeter_HOME 的环境变量,值为 JMeter 的安装路径;编辑Path 环境变量,添加两个新变量值。通过运行JMeter.bat文件启动 JMeter。具体环境变量配置步骤如图所示。
图6.2环境变量配置示意图
- 安装 Badboy
Badboy是为jmeter做辅助的,jmeter的脚本需要badboy录制。
3.2 编写性能测试脚本
- Badboy脚本录制
使用Badboy进行录制,如录制脚本示意图所示。
图6.3脚本录制示意图
(2)获取排名性能测试
将线程组命名为获取排名线程组 ,该线程组主要用于获取排名性能测试。测试场景包括用户输入cityid调用接口。线程为 60,持续运行时间3分钟。在“Number of Threads”参数中设置并发用户数,确保每个场景运行 180 秒。
图6.4获取排名创建线程组示意图
获取排名需填写相关的地址、请求路径、方法以及请求参数等详细信息。如HTTP Request示意图所示。
图6.5HTTP请求示意图
为判断输出结果是否符合预期,我们需要为请求设置相应的断言,如图所示:
图6.6HTTP请求断言示意图
要想看测试结果,需添加监听器,常用的监听器是汇总报告,可查看不同的指标下接口的响应时间,吞吐量,错误率等。如图所示:
图6.7汇总报告示意图
3.3 性能测试结果分析
楼市楼盘排名接口与楼盘分组接口,对于3分钟并发数为60的场景测试,平均响应时间小于5秒,错误率却大于80%,不符合预期结果,如图所示:
图6.8楼市楼盘汇总报告示意图
图6.9楼盘分组汇总报告示意图