当前位置: 首页 > news >正文

网站只做内容 不做外链宁波seo专员

网站只做内容 不做外链,宁波seo专员,云兰装潢公司总部地址电话,顺企网江西网站建设pytest 是一个成熟的全功能Python测试工具,可以帮助您编写更好的程序。它与 python 自带的 unittest 测试框架类似,但 pytest 使用起来更简洁和高效,并且兼容 unittest 框架。pytest 能够支持简单的单元测试和复杂的功能测试,pyte…

pytest 是一个成熟的全功能Python测试工具,可以帮助您编写更好的程序。它与 python 自带的 unittest 测试框架类似,但 pytest 使用起来更简洁和高效,并且兼容 unittest 框架。pytest 能够支持简单的单元测试和复杂的功能测试,pytest 本身支持单元测试,可以结合 requests 实现接口测试,结合selenium、appium 实现自动化功能测试,使用 pytest 结合 allure 集成到 Jenkins 中可以实现持续集成。工作中一般会使用持续集成来完成代码集成到主干分支之后的回归测试,通过自动化测试的手段来实现产品的快速迭代,同时还能保证产品的高质量。

Pytest 结合 YAML

yaml是一个可读性高,用来表达数据序列化的格式。pyyaml 模块在 python 中用于处理 yaml 格式数据,主要使用yaml.safe_dump()和yaml.safe_load()函数将 python 值和 yaml 格式数据相互转换。工作中常常使用 YAML 格式的文件存储测试数据。

安装

pip install PyYAML

完成数据驱动

创建用例文件以及数据文件来完成数据驱动的测试案例,创建一个文件夹 testdata,在这个文件夹下创建data.yml和test_yaml.py文件。

创建data.yml文件:

-- 1- 2
-- 20- 30

创建“test_yaml.py”,代码如下:

import pytest
import yaml@pytest.mark.parametrize("a,b", yaml.safe_load(open("datas.yml",\
encoding='utf-8')))
def test_foo(a,b):print(f"a + b = {a + b}")

代码分析: yaml 文件里定义了列表数据,通过 open( ) 方法获取 data.yml 文件对象,使用yaml.safe_load()加载这个文件对象,将 yaml 格式文件转换为 python 值,分别传到到用例中生成多条用例分别执行。

运行结果:

省略...
test_params.py::test_foo[1-2] 
test_params.py::test_foo[20-30] 
省略...

运行结果中[1-2]和[20-30]代码传入的两组参数,分别传入 test_foo( ) 用例方法中执行,并且分别生成两条测试结果。pytest 组合 yaml 实现数据驱动,yaml 文件作为用例数据源,控制测试用例的执行,使测试用例数据维护更加方便快捷。

结合 Allure 生成测试报告

测试报告在项目中是一个至关重要的角色,报告可以体现测试人员的工作量,开发人员可以从测试报告中了解缺陷的情况,测试经理可以从测试报告中看到测试人员的执行情况及测试用例的覆盖率,项目负责人可以通过测试报告查看整个项目还余留多少问题,此次版本是否测试通过。

一个美观、一目了然的测试报告能够非常清晰的反映一些问题,提供给相关人员了解项目的整体状态。

Allure 框架是一种灵活的、轻量级、支持多语言的测试报告工具,它不仅能够以简洁的 web 报告形式显示已测试的内容,而且允许参与开发过程的每个人从测试的日常执行中提取最大限度的有用信息。同时支持多种语言包括 Java、Python、JavaScript、Ruby、Groovy、PHP、.Net、 Scala。

安装

Mac 可以使用 brew 安装 allure,安装命令如下:

brew install allure

其他操作系统请参考https://docs.qameta.io/allure/#_installing_a_commandline。与 pytest 结合需要安装 allure-pytest 插件

pip install allure-pytest。

查看allure版本:

allure --version

运行:

第一步:在 pytest 执行测试的时候,指定参数 –alluredir 选项及结果数据保存的目录,代码如下:

pytest --alluredir=tmp/my_allure_results

tmp/my_allure_results中保存了本次测试的结果数据。

第二步:打开报告,需要启动allure服务,在terminal中输入allure serve [path/to/allure_results],代码如下:

allure serve path/to/allure_results

也可以使用allure generate生成 html 格式的测试结果报告,并使用allure open来打开报告。

allure generate ./result/ -o ./report/ --clean

上面的命令将 ./result/ 目录下的测试数据生成HTML测试报告到 ./report 路径下,–clean 选项目的是先清空测试报告目录,再生成新的测试报告,然后使用下面的命令打开报告。

allure open -h 127.0.0.1 -p 8883 ./report/

上面这个命令则会启动一个Web服务将已经生成的测试报告打开。打开生成的测试报告,在默认的浏览器打开测试报告,报告如下图:


上面的测试报告首页中展示了此次测试的测试用例数量以及成功用例、失败用例、跳过用例的比例。测试环境、SUITES、FEATURES BY STORIES 等基本信息,当与 Jenkins 做了持续集成后,TREND 区域还将显示,历次测试的通过情况。首页的左边栏,还从不同的维度展示测试报告的其他信息。

重点页面介绍:

  • Behaviors 页面,按照 FEATURES 和 STORIES 展示测试用例的执行结果
  • Suites 页面,Allure 测试报告将每一个测试脚本,作为一个 Suite。在首页里点击 Suites 区域内的任何一条
    Suite,都会进入 Suites 页面。
  • Graphs 页面,展示了此次测试结果的统计信息,比如测试用例执行结果状态、测试用例重要等级分布、测试用例执行时间分布等
  • 测试用例详情页面,在 Suites 页面上点击任何一条测试用例,Suites
    页面的右侧将展示这条用例的详细执行情况。在这个页面可以看到测试用例的每个步骤,以及每个步骤的执行结果,包括步骤里面添加的链接、图片、网页片段或者视频作为重要信息的补充。在这里可以一目了然的看到用例失败的原因。

前端自动化测试-百度搜索功能实战

pytest 可以与 allure 结合生成测试报告。在实际项目中,一旦用例报错,我们希望能够将当时应用的状态记录下来,记录这些状态的方式可以是日志、截图、视频等手段,并将这些记录在测试报告中,方便相关人员定位问题。allure 就能很好的实现这个目标。

以 web 网页版本的百度为例,百度首页呈现的功能:新闻、网页、贴吧、知道、音乐、图片、视频、地图等,我们以百度网页的搜索功能为例,使用 Allure、pytest 结合 selenium 自动化测试框架,完成一个搜索功能的测试。为了模拟百度搜索功能场景,这里需要创建两个文件,数据文件与用例文件。首先创建数据管理文件data/data.yml,代码如下:

- allure- pytest- unittest

然后,创建用例文件名为test_baidudemo.py,代码如下:

#!/usr/bin/env python
# -*- coding: utf-8 -*-import allure
import pytest
import yaml
from selenium import webdriver
import time@allure.testcase("http://www.github.com")
@allure.feature("百度搜索")
@pytest.mark.parametrize('test_data1', yaml.safe_load(\
open("data/data.yml")))
def test_steps_demo(test_data1):with allure.step("打开百度网页"):driver = webdriver.Chrome()driver.get("http://www.baidu.com")driver.maximize_window()with allure.step(f"输入搜索词:{test_data1}"):driver.find_element_by_id("kw").send_keys(test_data1)time.sleep(2)driver.find_element_by_id("su").click()time.sleep(2)with allure.step("保存图片"):driver.save_screenshot("./result/b.png")allure.attach.file("./result/b.png", \attachment_type=allure.attachment_type.PNG)with allure.step("关闭浏览器"):driver.quit()

代码解析:

allure.testcase用例标识,给定用例的链接,可以与用例的管理地址关联。allure.feature功能模块划分,方便管理和运行测试用例。

pytest.mark.parametrize用来参数化测试用例。allure.step用来添加测试步骤,在测试报告里面会展示出来这个步骤说明。

执行:

pytest test_baidudemo.py -s -q --alluredir=./result/ allure serve ./result/

测试结果图:



上面的测试报告展示运行时间,时长,用例数,通过率,以及测试套件SUITES,环境等信息,点击左侧栏最下方的Package可以看到所有的测试用例以及测试数据,点击一条用例右侧会展示出用例的优先级,数据,测试步骤以及每个步骤的名称及附加的图片等信息。这里添加了一个测试用例的链接,可以与测试用例的管理链接关联起来,方便后期统计覆盖率。pytest 与 Allure 也可以与 Jenkins 集成,实现自动化测试的持续集成。

最后能给予你助力的教程!

这份资料,对于【软件测试】的朋友来说应该是最全面最完整的备战资料,为了更好地整理每个模块,我也参考了很多网上的优质博文和项目,力求不漏掉每一个知识点,这些资料也陪伴了我走过最艰难的路,希望也能帮助到你!!!

在这里插入图片描述

http://www.hkea.cn/news/433500/

相关文章:

  • 网站排名优化建设百度广告投放技巧
  • 文件服务器网站搭建教程好的竞价托管公司
  • 黑龙江省城乡和住房建设厅网站首页百度链接地址
  • 网站模板修改工具专业seo关键词优化
  • 口碑好的句容网站建设yahoo搜索
  • 深圳网站建设外贸公司价格网络营销的背景和意义
  • 长春网站建设硕成传媒seo快速排名优化公司
  • web网站开发能使用c 吗免费建立个人网站申请
  • 织梦网站修改教程视频网站优化培训学校
  • 南沙区交通和建设局网站中国十大网络销售公司
  • 免费建设网站的方法百度网址大全 官网
  • 手机网站设计制作公司微信推广费用一般多少
  • 建设网站需要什么注册域名费用一般多少钱
  • 女性门户网站源码百度指数功能有哪些
  • 怎么帮公司做网站建设谷歌搜索引擎免费入口 香港
  • 请写出网站建设前期需要做的准备外贸定制网站建设电话
  • 南京门户网站建设网络营销优秀案例
  • 2012服务器如何做网站周口网络推广哪家好
  • 贵阳搜索玩的网站网络舆情软件免费入口
  • 前端自己写代码建网站要花多少钱游戏推广在哪里接活
  • 网站建设中+网页代码nba最新排名东西部
  • 东莞企业建设网站官网有限公司百度推广深圳分公司
  • 海外推广工作内容搜索引擎优化seo是什么
  • wordpress 发短信西安网络优化大的公司
  • dreamweaver个人网站南宁求介绍seo软件
  • 网站常用素材企业培训视频
  • 北京市通州区建设委员会网站网站新站整站排名
  • 太原网站推广只选中联传媒推广排名seo
  • 企业网站建设的常见流程为百度互联网营销顾问
  • 养殖企业网站网络营销策划名词解释