第10章 实战项目-黑马头条_第1页
第10章 实战项目-黑马头条_第2页
第10章 实战项目-黑马头条_第3页
第10章 实战项目-黑马头条_第4页
第10章 实战项目-黑马头条_第5页
已阅读5页,还剩93页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第10章实战项目——黑马头条《自动化测试应用教程(Web+App)》学习目标/Target了解黑马头条项目的简介,能够说出黑马头条项目的概述和测试环境了解黑马头条项目的功能模块,能够说出需要测试的功能模块掌握测试用例设计的方式,能够设计待测功能的测试用例掌握工具类封装的方式,能够实现黑马头条项目的工具类封装掌握基类封装的方式,能够实现黑马头条项目中子系统的基类封装学习目标/Target掌握页面对象封装的方式,能够实现黑马头条项目中子系统的页面对象封装掌握编写测试用例脚本的方式,能够编写黑马头条项目的测试用例脚本掌握数据驱动与日志收集的方式,能够使用装饰器与日志模块分别实现数据驱动和日志收集掌握Allure插件的使用方式,能够生成HTML格式的测试报告掌握持续集成的方式,能够使用Git、Jenkins工具构建黑马头条项目的测试任务章节概述/Summary为了巩固第1~9章讲解的自动化测试知识,本章将测试黑马头条项目,该项目是一款汇集科技资讯、技术文章和问答交流的产品。为了能够让大家熟练掌握测试项目过程中用到的自动化测试知识,接下来将从项目简介开始,一步一步带领大家测试黑马头条项目中的各个功能。目录/Contents0102项目简介测试功能模块03测试用例设计04创建工具类05创建基类目录/Contents0607页面对象封装测试用例脚本编写08数据驱动与日志收集09测试报告生成10项目持续集成项目简介10.110.1.1项目概述

先定一个小目标!了解项目的概述,能够说出黑马头条项目的概述10.1.1项目概述黑马头条项目是一款汇集科技资讯、技术文章和问答交流的产品,用户通过使用该产品,不仅可以获取最新的科技资讯,而且可以学习、发表和交流技术文章。PC端自媒体运营系统在PC端自媒体运营系统中有4个模块,分别是首页、账户信息、内容管理和粉丝管理。PC端后台管理系统App用户端在APP用户端中有内容推荐、内容搜索、内容展示、个人中心等模块,用户可以查看资讯、发表评论、进行问答交流等。在PC端后台管理系统中有6个模块,分别是首页、用户管理、信息管理、数据统计、系统管理和推荐系统。3个子系统10.1.2项目测试环境

先定一个小目标!了解项目的测试环境,能够说出黑马头条项目的测试环境10.1.2项目测试环境

操作系统:Windows764位操作系统。

Python环境:Python3.8.10(64-bit)。PyCharm集成开发工具(Community社区版)。

Java环境:JDK1.8。

Android环境:AndroidSDK。Genymotion模拟器:SamsungGalaxyS98.0-API261440

2960。

浏览器版本:Chrome浏览器,版本号为92.0.4515.159。

浏览器驱动版本:chromedriver_win32.zip,版本号为92。

测试工具与插件:selenium3.141.0。Appium-windows-1.21.0。Appium-Python-Client2.0.0。uiautomatorviewer。pytest6.2.4。pytest-ordering0.6。allure2.7.0。allure-pytest2.9.45。Git2.33.1。Jenkins2.303.3。在实现黑马头条项目的自动化测试过程中,需要的测试环境如下。测试功能模块10.210.2.1自媒体运营系统登录功能

先定一个小目标!了解自媒体运营系统登录功能,能够说出自媒体用户登录页面中需要操作的元素10.2.1自媒体运营系统登录功能自媒体用户在发布文章之前,首先需要在PC端登录自媒体运营系统,只有成功登录系统时,才能够发布文章。自媒体用户登录页面如下图所示。10.2.2自媒体运营系统发布文章功能

先定一个小目标!了解自媒体运营系统发布文章功能,能够说出自媒体发布文章页面中需要操作的元素10.2.2自媒体运营系统发布文章功能当自媒体用户成功登录自媒体运营系统后,会进入自媒体运营系统的首页,单击该页面左侧导航栏中的“内容管理”菜单,再单击“发布文章”菜单,页面右侧会显示“发布文章”页面,如下图所示。10.2.3后台管理系统登录功能

先定一个小目标!了解后台管理系统登录功能,能够说出后台管理系统登录页面中需要操作的元素10.2.3后台管理系统登录功能当自媒体用户发布文章后,管理员可以在后台管理系统中对自媒体用户发布的文章内容进行审核,审核之前需要登录后台管理系统,后台管理系统登录页面如下图所示。10.2.4后台管理系统内容审核功能

先定一个小目标!了解后台管理系统内容审核功能,能够说出后台管理系统内容审核页面中需要操作的元素10.2.4后台管理系统内容审核功能当管理员成功登录后台管理系统时,可以在系统首页的“信息管理”模块中审核自媒体用户发布的文章内容,“内容审核”页面如下图所示。10.2.5App用户端登录功能

先定一个小目标!了解App用户端登录功能,能够说出App用户端登录页面中需要操作的元素10.2.5App用户端登录功能用户登录黑马头条App用户端时,可以查看文章、收藏文章、点赞或关注等,App用户端登录页面如下图所示。10.2.6App用户端滑屏查看文章功能

先定一个小目标!了解App用户端滑屏查看文章功能,能够说出App用户端主页面和数据库频道的文章页面中需要操作的元素10.2.6App用户端滑屏查看文章功能在App用户端主页面有多个频道,例如“开发者资讯”“设计”“Android”等,如果需要查看其他频道的文章,则需要通过滑屏操作。App用户端主页面和“数据库”频道的文章页面分别如下图所示。测试用例设计10.310.3.1自媒体运营系统测试用例

先定一个小目标!掌握自媒体运营系统测试用例的设计,能够完成自媒体运营系统登录功能和发布文章功能的测试用例设计10.3.1自媒体运营系统测试用例在黑马头条项目的自媒体运营系统中,自媒体用户需要先成功登录系统,才能够发布文章。由于自媒体用户发布文章的过程涉及登录功能和发布文章功能,所以需要设计这两个功能的测试用例。10.3.1自媒体运营系统测试用例ID优先级测试功能预置条件步骤描述测试数据预期结果实际结果01P0登录打开登录页面1.输入用户手机号;2.输入验证码;3.单击“登录”按钮1.用户手机号2.验证码:246810;登录成功,页面右上角显示用户名02P0发布文章用户成功登录,进入“内容管理”页面1.单击“内容管理”菜单;2.单击“发布文章“菜单;3.输入标题;4.输入内容;5.选择封面;6.选择频道;7.单击“发表”按钮1.标题:测试发布文章;2.内容:这是测试内容;3.封面:选择“自动“;4.频道:选择“数据库“提示:新增文章成功自媒体运营系统的测试用例如下表所示。10.3.2后台管理系统测试用例

先定一个小目标!掌握后台管理系统测试用例的设计,能够完成后台管理系统登录功能和内容审核功能的测试用例设计10.3.2后台管理系统测试用例在黑马头条项目的后台管理系统中,管理员首先成功登录后台管理系统,才能够对自媒体用户发布的文章内容进行审核。由于管理员审核发布文章内容的过程涉及登录功能和内容审核功能,所以需要设计这两个功能的测试用例。10.3.2后台管理系统测试用例ID优先级测试功能预置条件步骤描述测试数据预期结果实际结果01P0登录打开登录页面1.输入用户手机号;2.输入验证码;3.单击“登录”按钮1.用户手机号2.密码:246810登录成功,页面右上角显示“欢迎超级管理员”02P0内容审核管理员成功登录,进入“首页”页面1.单击“信息管理”菜单;2.单击“内容审核”菜单;3.输入搜索的文章名称;4.选择文章状态;5.单击“查询”按钮;6.单击“通过”按钮;7.单击提示框的“确认”按钮1.文章名称:测试发布文章2.选择状态:审核通过3.时间:2021-11-1816:27:00提示:文章审核成功成功后台管理系统的测试用例如下表所示。10.3.3App用户端测试用例

先定一个小目标!掌握App用户端测试用例的设计,能够完成App用户端登录功能和查看数据库频道文章的测试用例设计10.3.3App用户端测试用例通过在Genymotion模拟器的WebViewShell软件中访问黑马头条项目的链接,测试用户登录功能和滑屏查看“数据库”频道的文章功能。10.3.3App用户端测试用例ID优先级测试功能预置条件步骤描述测试数据预期结果实际结果01P0登录1.打开WebViewShell软件;2.输入黑马头条链接1.单击“我的”2.单击“手机图标”按钮3.单击“登录”按钮1.用户手机号:139111111112.验证码:246810登录成功,页面依次显示“推荐”

“开发者资讯”等频道02P0查看“数据库”频道的文章用户成功登录,进入“首页”页面滑动屏幕至“数据库”屏幕频道:数据库从主页面的“推荐”频道滑动至“数据库”频道App用户端的测试用例如下表所示。创建工具类10.410.4创建工具类

先定一个小目标!掌握工具类封装的方式,能够实现黑马头条项目的工具类封装10.4创建工具类当编写黑马头条项目的测试用例脚本代码时,经常需要获取浏览器驱动、关闭浏览器驱动、获取页面URL地址等信息,为了提高自动化测试脚本的可复用性、可维护性和可读性,需要将这些实现相同功能的脚本抽取出来放在工具类中,以便于后续使用。10.4创建工具类创建工具类的具体步骤如下。1.创建项目在PyCharm工具中创建一个名为hmAutoTest的项目。2.创建UtilsDriver工具类在hmAutoTest项目中,创建一个名为utils.py的文件,在该文件中创建获取自媒体运营系统和后台管理系统的浏览器驱动的方法、获取URL地址的方法等,具体代码如下。[单击查看源码]创建基类10.510.5.1创建自媒体运营系统的基类

先定一个小目标!掌握基类封装的方式,能够实现黑马头条项目中自媒体运营系统的基类封装10.5.1创建自媒体运营系统的基类在测试黑马头条项目的过程中,都需要获取浏览器驱动、设置元素显示等待时间、清空和输入文本内容等,为了提高自动化测试脚本的可复用性、可维护性和可读性,可通过在项目中创建基类来存放这些实现相同功能的方法。10.5.1创建自媒体运营系统的基类创建自媒体运营系统的基类的具体步骤如下。1.创建base包选中hmAutoTest项目名称,鼠标右键单击选择“PythonPackage”选项,创建一个名为base的包。2.创建自媒体运营系统的基类包在hmAutoTest项目的base包中创建一个名为mp的包,该包用于存放自媒体运营系统的基类。3.创建自媒体运营系统的基类在hmAutoTest项目的mp包中创建一个名为base.py文件,在该文件中编写自媒体运营系统的基类代码,具体代码如下。[单击查看源码]10.5.2创建后台管理系统的基类

先定一个小目标!掌握基类封装的方式,能够实现黑马头条项目中后台管理系统的基类封装10.5.2创建后台管理系统的基类创建后台管理系统的基类的具体步骤如下。1.创建后台管理系统的基类包在hmAutoTest项目的base包中创建一个名为mis的包。2.创建后台管理系统的基类在hmAutoTest项目中mis包中创建名为base.py的文件,在该文件中编写创建后台管理系统的基类代码,具体代码如下。[单击查看源码]10.5.3创建App用户端的基类

先定一个小目标!掌握基类封装的方式,能够实现黑马头条项目中App用户端的基类封装10.5.3创建App用户端的基类创建App用户端的基类的具体步骤如下。1.创建App用户端的基类包在hmAutoTest项目的base包中创建一个名为app的包。2.创建App用户端的基类在hmAutoTest项目的app包中创建名为base.py的文件,在该文件中编写创建App用户端的基类代码,具体代码如下。[单击查看源码]页面对象封装10.610.6.1自媒体运营系统页面对象的封装

先定一个小目标!掌握页面对象封装的方式,能够实现黑马头条项目中自媒体运营系统页面对象的封装10.6.1自媒体运营系统页面对象的封装当测试自媒体运营系统的发布文章页面时,需要对系统中的登录页面、主页面和发布文章页面进行测试操作,这3个页面的逻辑代码中都需要使用PO模式。在hmAutoTest项目中,创建一个名为page的包,再在page包中创建一个名为mp的包,在mp包中创建一个名为login_page.py的文件,在该文件中分别创建LoginPage类、LoginHandle类和LoginProxy类,这3个类分别用于封装自媒体运营系统登录页面中的对象库层、操作层和业务层的代码,具体代码如下。1.自媒体运营系统登录页面[单击查看源码]10.6.1自媒体运营系统页面对象的封装在项目的page.mp的包中创建一个名为home_page.py的文件,在该文件中分别创建HomePage类、HomeHandle类和HomeProxy类,这3个类分别用于封装自媒体运营系统主页面中的对象库层、操作层和业务层的代码。具体代码如下。2.自媒体运营系统主页面[单击查看源码]10.6.1自媒体运营系统页面对象的封装在page.mp包中,新建一个名为publish_page.py的文件,在该文件中分别创建PublishPage类、PublishHandle类和PublishProxy类,这3个类分别用于封装自媒体运营系统发布文章页面中的对象库层、操作层和业务层的代码,具体代码如下。3.自媒体运营系统“发布文章”页面[单击查看源码]10.6.2后台管理系统页面对象的封装

先定一个小目标!掌握页面对象封装的方式,能够实现黑马头条项目中后台管理系统页面对象的封装10.6.2后台管理系统页面对象的封装当测试审核发布的文章内容时,需要对系统中的登录页面、主页面和“审核文章”页面进行测试操作,这3个页面的逻辑代码中都需要使用PO模式。在hmAutoTest项目的page包中创建一个名为mis的包,然后在该包中创建一个名为login_page.py的文件,在该文件中分别创建LoginPage类、LoginHandle类和LoginProxy类,这3个类分别用于封装后台管理系统登录页面的对象库层、操作层和业务层的代码,具体代码如下。1.后台管理系统登录页面[单击查看源码]10.6.2后台管理系统页面对象的封装在page.mis包中,创建一个名为home_page.py的文件,在该文件中分别创建HomePage类、HomeHandle类和HomeProxy类,这3个类分别用于封装后台管理系统主页面的对象库层、操作层和业务层的代码,具体代码如下。2.后台管理系统主页面[单击查看源码]10.6.2后台管理系统页面对象的封装在page.mis包中创建一个名为audit_page.py的文件,在该文件中分别创建AuditPage类、AuditHandle类和AuditProxy类,这3个类分别用于封装后台管理系统“内容审核”页面的对象库层、操作层和业务层的代码,具体代码如下。3.后台管理系统“内容审核”页面[单击查看源码]10.6.3App用户端页面对象的封装

先定一个小目标!掌握页面对象封装的方式,能够实现黑马头条项目中App用户端页面对象的封装10.6.3App用户端页面对象的封装由于需要在Genymotion模拟器的WebViewShell浏览器上访问黑马头条的链接,所以在App用户端查看“数据库”频道的文章时,一共需要在3个页面中进行操作,分别是WebViewShell页面(也称为浏览器页面)、App用户端登录页面、App用户端主页页面。在hmAutoTest项目的page包中创建一个名为app的包,然后在app包中创建一个名为browser_page.py的文件,在该文件中分别创建BrowserPage类、BrowserHandle类和BrowserProxy类,这3个类分别用于封装浏览器页面的对象库层、操作层和业务层的代码,具体代码如下。1.浏览器页面(WebViewShell页面)[单击查看源码]10.6.3App用户端页面对象的封装在page.app包中创建一个名为login_page.py的文件,在该文件中分别创建LoginPage类、LoginHandle类和LoginProxy类,这3个类分别用于封装App用户端登录页面的对象库层、操作层和业务层的代码,具体代码如下。2.

App用户端登录页面[单击查看源码]10.6.3App用户端页面对象的封装为了在测试选择其他频道的文章时能够更快速地进行调用,可以将边滑动边查找的方法统一封装在utils.py文件中,定义边滑动边查找方法的具体代码如下。[单击查看源码]10.6.3App用户端页面对象的封装在page.app包中创建一个名为index_page.py的文件,在该文件中分别创建IndexPage类、IndexHandle类和IndexProxy类,这3个类分别用于封装App用户端主页面的对象库层、操作层和业务层的代码。具体代码如下。3.

App用户端主页面[单击查看源码]测试用例脚本编写10.710.7.1自媒体运营系统测试用例脚本

先定一个小目标!掌握编写测试用例脚本的方式,能够编写黑马头条项目中自媒体运营系统的测试用例脚本10.7.1自媒体运营系统测试用例脚本编写自媒体运营系统自媒体用户登录功能和发布文章功能的测试用例脚本的具体步骤如下。1.

创建scripts包和mp包在hmAutoTest项目中创建一个名为scripts的包,在该包中创建一个名为mp的包。2.创建test_publish_article.py文件在scripts.mp包中,创建一个名为test_publish_article.py的文件。在该文件中编写自媒体运营系统自媒体用户登录功能和发布文章功能的测试用例脚本,具体代码如下。[单击查看源码]10.7.2后台管理系统测试用例脚本

先定一个小目标!掌握编写测试用例脚本的方式,能够编写黑马头条项目中后台管理系统的测试用例脚本10.7.2后台管理系统测试用例脚本编写后台管理系统管理员登录功能和内容审核功能的测试用例脚本的具体步骤如下。创建mis包在scripts包中创建一个名为mis的包。2.创建test_review_article.py文件在scripts.mis包中创建一个名为test_review_article.py的文件,在该文件中编写后台管理系统管理员登录功能和内容审核功能的测试用例脚本,具体代码如下。[单击查看源码]10.7.3App用户端测试用例脚本

先定一个小目标!掌握编写测试用例脚本的方式,能够编写黑马头条项目中App用户端的测试用例脚本10.7.3App用户端测试用例脚本编写App用户端登录功能和滑屏查看文章功能的测试用例脚本的具体步骤如下。1.

创建app包在scripts包中创建一个名为app的包。2.创建test_review_article.py文件在scripts.app包中创建一个名为test_review_article.py的文件,在该文件中编写App用户端登录功能和滑屏查看文章功能的测试用例脚本,具体代码如下。[单击查看源码]数据驱动与日志收集10.810.8数据驱动与日志收集

先定一个小目标!掌握数据驱动与日志收集的方式,能够使用装饰器与日志模块分别实现数据驱动和日志收集10.8数据驱动与日志收集数据驱动与日志收集的具体实现步骤如下。1.

创建data包与mp包首先在hmAutoTest项目中创建一个名为data的包,然后在该包中创建一个名为mp的包,mp包用于存放自媒体运营系统的测试数据。10.8数据驱动与日志收集2.

创建自媒体用户登录的测试数据文件在data.mp包中,创建一个名为test_login_data.json的文件,该文件用于存放自媒体运营系统的用户登录的测试数据,具体内容如下。{"login_success":{"username":"","code":"","expect":"python"}}10.8数据驱动与日志收集3.创建mis包在data包中创建一个名为mis的包,该包用于存放后台管理系统的测试数据。4.

创建管理员登录的测试数据文件在data.mis包中,创建一个名为test_login_data.json的文件,该文件用于存放后台管理系统的管理员的登录测试数据,具体内容如下。{"login_success":{"username":"testid","password":"testpwd123","expect":"退出"}}10.8数据驱动与日志收集5.

创建config.py文件在hmAutoTest项目中创建一个名为config.py的文件,在该文件中编写获取测试数据文件路径的代码和日志收集的代码,这些代码可在自媒体运营系统测试用例脚本、后台管理系统测试用例脚本中被调用,具体代码如下。[单击查看源码]10.8数据驱动与日志收集6.

创建pytest.init配置文件在hmAutoTest项目中创建一个名为pytest.init的配置文件,该文件的具体代码如下。[pytest]addopts=-s--alluredirreportpython_files=test*.pypython_classes=Test*python_functions=test_*testpaths=./scripts测试报告生成10.910.9测试报告生成

先定一个小目标!掌握Allure插件的使用方式,能够生成HTML格式的测试报告10.9测试报告生成在实际的测试场景中,自动化测试的结果最终是通过测试报告来呈现的,测试报告能够记录测试用例执行结果、测试步骤、测试环境等,接下来介绍黑马头条项目测试报告生成的具体步骤。(1)通过pytest命令运行项目中的所有测试用例脚本文件。(2)通过allure命令将测试结果文件转成HTML格式文件。10.9测试报告生成默认情况下,执行pytest命令运行测试用例后生成的测试报告文件是JSON格式,此时需要通过allure命令“allure

generate

report

-o

report/html

--clean”将JSON格式的文件转换成HTML格式的文件,如下图所示。10.9测试报告生成生成测试报告文件的位置如下图所示。10.9测试报告生成选中index.html文件,鼠标右键单击依次选择“OpenIn→Browser→Chrome”选项,即可通过Chrome浏览器查看生成的测试报告,如下图所示。10.9测试报告生成通过Chrome浏览器查看生成的测试报告如下图所示。项目持续集成10.1010.10项目持续集成

先定一个小目标!掌握持续集成的方式,能够使用Git、Jenkins工具构建黑马头条项目的测试任务10.10项目持续集成实现黑马头条项目持续集成的具体操作步骤如下。(1)创建本地仓库通过执行“gitinit”命令创建本地仓库,如下图所示。1.将自动化测试脚本代码上传到Git10.10项目持续集成(2)将本地代码提交到缓存区通过执行“gitadd.”命令将本地代码提交到缓存区,如下图所示。10.10项目持续集成(3)将本地代码提交到本地仓库通过执行“gitcommit-m”命令将本地代码提交到本地仓库中,如下图所示。10.10项目持续集成(4)创建远程仓库在浏览器中访问Gitee官方网站,然后登录个人Git账号,单击页面中的图标,进入“新建仓库”页面,在该页面填写新建仓库的信息后单击“创建”按钮,将进入新建的仓库页面,如下图所示。10.10项目持续集成(5)将本地仓库代码上传到远程仓库首先执行“gitremoteaddorigin+仓库地址”命令,再执行“gitpush-uoriginmaster”命令,即可将本地仓库代码上传到远程仓库,访问新建仓库的链接就会看到成功上传的代码,如下图所示。10.10项目持续集成首先启动Jenkins,然后单击“工作台”[Jenkins]页面左侧菜单栏的“新建Item”选项,如下图所示。2.在Jenkins页面新建Item10.10项目持续集成在“新建Item”页面,首先在该页面输入任务名称,然后单击“Freestyleproject”,最后单击“确定”按

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论