首页 > 其他分享 >PlayWright(二十二)- allure插件(一)

PlayWright(二十二)- allure插件(一)

时间:2023-07-26 14:44:31浏览次数:52  
标签:case 插件 PlayWright pwd allure user data

在上文中,我们介绍并使用了pytest-html插件,总之并不复杂,但是今天我们要讲一个比pytest-html插件强很多的插件allure报告,我们要掌握他并且灵活使用,之后的框架就不需要考虑其他的了  

1.使用allure需要什么?

因为allure的环境基于Java环境,所以得先下载JDK  

下载JDK,配置环境变量

因为这方面教程太多了,所以就不细说了,详情可看推荐这篇:Java JDK下载与安装教程 配置JDK环境变量:Java JDK环境变量配置

下载allure,配置环境变量

官网下载地址:https://repo.maven.apache.org/maven2/io/qameta/allure/allure-commandline/    
  1. 首先选择一个版本
  1. 然后选择下载Zip文件
  1. 下载解压到你想放的文件夹里
  1. 配置allure环境变量
 
  至此,我们的安装配置工作已经完成了,接下来检查一下我们是否安装并配置成功了 命令行打开,输入allure,检查配置   我们全部已经准备好了 那现在我们可以直接开整了    

2.仿真登录功能自动化

以登录功能写测试用例: 既然是登录功能,我们可以结合之前学过的参数化篇:https://www.cnblogs.com/nuomituan/p/17554132.html,先来整理我们的数据    

data数据篇

项目文件夹下,新建一个data目录,然后新建一个login.json文件
{
  "case_01": {
    "case": "用户名正确, 密码正确",
    "user": "chen",
    "pwd": "123456",
    "expected": {
      "code": 200,
      "msg": "登录成功",
      "data": "None"
    }
  },
  "case_02": {
    "case": "用户名正确, 密码为空",
    "user": "chen",
    "pwd": "",
    "expected": {
      "code": 404,
      "msg": "用户名或密码错误",
      "data": "None"
    }
  },
  "case_03": {
    "case": "用户名为空, 密码正确",
    "user": "",
    "pwd": "123456",
    "expected": {
      "code": 404,
      "msg": "用户名或密码错误",
      "data": "None"
    }
  },
  "case_04": {
    "case": "用户名错误, 密码错误",
    "user": "chen",
    "pwd": "123",
    "expected": {
      "code": 404,
      "msg": "用户名或密码错误",
      "data": "None"
    }
  }
}

 

tools工具篇

新建一个tools目录,创建处理JSON文件的get_data.py,JSON文件有一个地址,所以我们还要解决路径问题,一劳永逸,所以还需要根目录下创建一个confi.py处理基础路径   config.py文件代码:
import os

base_dir = os.path.dirname(__file__)

 

这里我们可以得到项目的根路径D:/Python/Pytest_Demo   get_data.py文件代码:
import json

from config import base_dir

json_file = base_dir + "/data/login.json"
print(json_file)

def get_data():
    # 指定文件路径

    test_data = []
    # 打开文件加载
    with open(json_file, encoding="utf-8") as f:
        case = json.load(f)

    for case_data in case.values():
        test_data.append(tuple(case_data.values()))
    print(test_data)
    return test_data

 

  我们调用函数测试下结果: 没有问题  

testcase用例篇

  我们要测试登录功能,得先写个模块函数,模拟登录功能成功和失败的情况
def login(username, password):
    """
    模拟登录功能
    :param username:
    :param password:
    :return:
    """
    user = 'chen'
    pwd = '123456'

    if user == username and pwd == password:
        return {
            "code": 200,
            "msg": "登录成功",
            "data": "None"
        }
    else:
        return {
            "code": 404,
            "msg": "用户名或密码错误",
            "data": "None"
        }

 

  然后我们根据我们的测试数据,登录功能,编写测试用例吧
class TestLogin(object):

    @pytest.mark.parametrize("case,user,pwd,expected", get_data())
    def test_login(self, case, user, pwd, expected):
        """测试用例"""
        response = login(user, pwd)
        assert response == expected

 

我们使用了parametrize装饰器,把测试数据取出来,然后用取出来的user,pwd登录,然后用返回的结果response做断言,执行看下结果:   准备工作已经完成,终于到我们今天的主角了  

3.使用allure报告

安装插件

  因为要集合pytest,所以在我们生成报告前,还需要装下allure-pytest插件
pip install -i https://pypi.douban.com/simple allure-pytest
  那我们怎么使用呢?    

生成allure测试结果

我们执行命令的时候,会输入命令pytest ,现在只需要在后边加上 --alluredir = path 生成的测试报告数据就到指定文件夹了 配置文件:   输入命令pytest执行看下结果:   已经生成了reports目录,并且有一些json文件,其实这就是我们执行的测试结果内容,如果想要以html形式看,那就需要用到allure命令了    

生成allure报告

这块我们有两种方式 第一种:直接打开测试报告
allure serve path路径
我们在命令行输入allure serve ./reports,看下结果: 我们的报告已经生成   第二种方式:将测试结果生成到一个html报告到指定文件下
allure generate ./report -o ./report --clean
  命令行输入:allure generate ./reports -o ./reports/report --clean --clean 表示我们会清除report的文件夹,然后再生成报告   看下执行结果:   report就是我们生成的报告,打开下边的index.html看下吧     allure插件我们也掌握了,下篇我们深入allure报告插件在讲解  

标签:case,插件,PlayWright,pwd,allure,user,data
From: https://www.cnblogs.com/nuomituan/p/17582399.html

相关文章

  • VSCode离线安装插件
    摘自:http://www.cbww.cn/news/58830.shtml一、前言工作环境屏蔽外网,无法在VSCode客户端在线VSCode插件商店下载插件。因此,只能下载插件文件,并离线安装。二、下载VSCode插件1.在VSCode插件商店中搜索需要的插件2.下载vsix格式插件 三、离线安装VSCode插件1.打开菜......
  • playwright使用
    安装时问题CMD执行playwrightinstall时出现DownloadingChromium115.0.5790.24(playwrightbuildv1067)fromhttps://playwright.azureedge.net/builds/chromium/1067/chromium-win64.zipError:unabletoverifythefirstcertificateatTLSSocket.onConnectSec......
  • 浏览器不需要安装插件,前端网页播放在线视频方案,hls协议下的h.265视频播放方案推荐
    一般我们播放本地视频都是使用video标签,但是<video>元素只支持三种视频格式:MP4、WebM、Ogg,对于在线视频直接使用video是没法播放的,这里介绍几款这两天我在做播放在线监控视频功能时使用过的几款播放器,初次接触流媒体踩了一堆坑,到目前为止对这部分内容都还了解的很浅显,若有问题请......
  • Vue使用v-viewer插件实现图片预览和缩放和旋转等功能
    科普:v-viewer简单来说:v-viewer是一款支持vue项目中的图片浏览组件,它支持图片旋转、缩放、翻转等操作,支持配置化.非常强大官网目录:v-viewer安装依赖直接执行命令:npminstallv-viewer--save引入并使用依赖下载完成之后,就可以配置了,具体操作就是引入并使用依赖了。找到vu......
  • 自定义gradle插件并且发布到本地仓库
    转载请标明出处,维权必究:http://77blogs.com/?p=189一、在工程上新建一个Module。二、删除其余不必要的文件,最终目录结构如下:注意:由于我用的是kotlin语言,所以用的是java目录,java语言也是用java目录,如果用的是groovy语言,那么就用groovy目录。src/main/resources/META-INF/gra......
  • solr中如何定义自己的解析器插件(QParserPlugin)
    /*****************************************************/>solr中如何定义自己的解析器插件/*****************************************************/0.为什么要自定义自己的解析器插件/*****************************************************///因为solr默认的Lucen......
  • 15款提高表格操作的jQuery插件
       table表格由于它的浏览器兼容性和复杂的标签嵌套方式,可以算是添加样式最困难的对象之一了。大多数前端er都把网页中的table标签替换为div,主要就是因为div要比table更容易添加CSS样式。但是我们在日常应用中仍然要用到table表格,其中最好的例子就是对照表。今天彬Go将向大家......
  • jQuery水印插件 - Watermark 和 FormWatermark
    FormWatermark是一个跨浏览器的可以给表单文本框和文本区域增加水印的插件,使用FormWatermark给表单增加水印提示功能,这有助于提高用户交互和友好度,如果配合jQuery插件Validation可提供强大的用户体验,FormWatermark使用简单,效果图如下: 使用说明需要使用jQuery库文件和Form......
  • 30+ 新鲜惊奇的 jQuery 插件与教程
    在网络发展领域,由于jQuery简单易学,易于使用和易于扩展的特点,因此正慢慢变得无处不在。以下是从一些jQuery相关文章中整理出来的30+新鲜与惊奇的jQuery插件与教程。如果你正在寻找最新的jQuery信息,这些内容值得一读。教程1.Howtoaddpreloaderwithloadingimagein......
  • 【jQuery】smartMenu右键自定义上下文菜单插件(似web QQ)
    DEMO: http://sources.ikeepstudying.com/menu-mail-qq/ 一、这是什么样的一个插件我们都知道,默认状态下,我们右键web页面,会出现一个上下文菜单,例如下图:【jQuery】smartMenu右键自定义上下文菜单插件(似webQQ)但是,浏览器默认的右键选项有时候并不是我们所需要的,......