首页 > 其他分享 >WEB自动化-11-数据驱动

WEB自动化-11-数据驱动

时间:2022-09-28 00:22:19浏览次数:80  
标签:11 WEB name age fixture json item cy 自动化

11 数据驱动

    数据驱动是测试框架中一个非常好的功能,使用数据驱动,可以在不增加代码量的情况下生成不同的测试策略。下面我们来看看在Cypress中的数据驱动使用方法。

11.1 数据在文件中

    在前面已经使用很多次,示例如下所示:

[
    {
        "ID": "Data-1",
        "name": "Surpass",
        "age": 28
    },
    {
        "ID": "Data-2",
        "name": "Kevin",
        "age": 29
    }
]

    示例代码如下所示:

/// <reference types="cypress" />

import Data from "./user.json"

describe('数据在文件中', () => {
   Data.forEach(item => {
    it(item.ID, () => {
        cy.log(`name is ${item.name},age is ${item.age}`);
    });
   });
});

11.2 使用fixture

    Cypress中fixture默认位于cypress\fixtures\example.json文件中。操作步骤如下所示:

  • 在cypress\fixtures\example.json,创建user.json,并添加以下的数据:
[
    {
        "ID": "Data-1",
        "name": "Surpass",
        "age": 28
    },
    {
        "ID": "Data-2",
        "name": "Kevin",
        "age": 29
    }
]
  • 使用fixture,如下所示:
/// <reference types="cypress" />

describe('数据在fixture中', () => {

    it('测试fixture用法-1', () => {
        // 由于使用默认目录,则路径可以省略,否则需要添加文件所在路径
        cy.fixture("user.json", "utf8").as("userData");
        cy.get("@userData").each((item) => {
            cy.log(`name is ${item.name},age is ${item.age}`);
        });
    });

    it('测试fixture用法-2', () => {
        // 由于使用默认目录,则路径可以省略,否则需要添加文件所在路径
        cy.fixture("user.json", "utf8").then((element) => {
            let data = element;
            data.forEach(item => {
                cy.log(`name is ${item.name},age is ${item.age}`);
            });
        });
    });
});

原文地址:https://www.jianshu.com/p/cc42088f1bef

本文同步在微信订阅号上发布,如各位小伙伴们喜欢我的文章,也可以关注我的微信订阅号:woaitest,或扫描下面的二维码添加关注:

标签:11,WEB,name,age,fixture,json,item,cy,自动化
From: https://www.cnblogs.com/surpassme/p/16736546.html

相关文章

  • 移动Web开发入门(九) -- 移动端常见问题
    前言本文主要记录了移动端的常见问题,包含H5标签兼容性的查看、H5标签补丁的简单介绍和click300ms延时问题以及单行文本溢出隐藏和多行文本溢出隐藏的解决方案。H5标签兼......
  • 011——常用API(String , ArrayList)
    常用API(String,ArrayList)API(ApplicationProgrammingInterface,应用程序编程接口)Java写好的程序(功能),咱们可以直接调用。Oracle也为Java提供的这些功能代码......
  • JavaWeb5 JDBC
       packagecom.itheima.jdbc;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.SQLOutput;importjava.sql.Statement;publi......
  • 前端面试总结10-WebApi-事件
    1.事件绑定通用函数(包括事件代理)functionbindEvent(elem,type,selector,fn){if(fn==null){fn=selector;selector=null;}elem.addEventListener(type,event=>{con......
  • Vue、React、Angular之三国杀,web前端入坑第六篇(上)
      「懒癌引发血案 」目前前端技术栈发生了翻天覆地的变化,上篇刚写了只会jquery要失业,再不学新的你就要被淘汰,虽然有点危言耸听,不过现实情况确实是这样。vue、react、an......
  • 111111
    昨日数据回顾(自己方便记单词,别模仿)布尔值bollTrue,False意思是对的和错的所有的数据自带布尔值布尔值为Flase的有0None''[]{}元组......
  • Javaweb核心之注解开发Servlet
    这是一篇关于讲解如何正确使用51CTO博客-Markdown的排版示例,希望通过此,大家都能轻松上手,都能通过Markdown能#4注解开发Servlet4.1Servlet3.0规范4.2注解开发入门案......
  • Javaweb核心响应对象
    1响应对象1.1响应对象概述1.1.1关于响应响应,它表示了服务器端收到请求,同时也已经处理完成,把处理的结果告知用户。简单来说,指的就是服务器把请求的处理结果告知客户端......
  • oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3
    引言不知不觉中,人气竟然50W+了。真是荣幸之至,何德何能有这么多兄弟来看我的文章。我今天整个狠活,再带来一篇非常非常非常干货的文章。在前面的文章中,我们写过:Oracle10.2.0.1......
  • javaweb核心之会话技术
    1会话技术1.1会话管理概述1.1.1什么是会话这里的会话,指的是web开发中的一次通话过程,当打开浏览器,访问网站地址后,会话开始,当关闭浏览器(或者到了过期时间),会话结束。举......