首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Cypress web自动化17-fixture加载json文件数据

Cypress web自动化17-fixture加载json文件数据

作者头像
上海-悠悠
发布2020-05-18 15:51:52
1.1K0
发布2020-05-18 15:51:52
举报

前言

面试时间经常被问到:你的测试数据放哪?有没有做到测试数据和代码的分离? Cypress 使用cypress/fixture 目录存放 json 文件数据, cy.fixture() 加载测试数据。 官方文档参考https://docs.cypress.io/api/commands/fixture.html#Syntax

fixture 使用

在 cypress/fixture 目录写个 login.json 文件,内容如下

{
  "username": "admin",
  "password": "123456"
}

使用 cy.fixture(“filename.json”) 读取 json 文件数据. 先不访问网页,使用 cy.log() 查看数据是否读取到

/**
 * Created by dell on 2020/5/14.
 * 作者:上海-悠悠 交流QQ群:939110556
 */

describe('登陆web网站案例', function() {
    beforeEach(() => {
          //cy.visit('http://xxxx:8080/zentao/user-login.html');
          cy.fixture('login.json').as('login')
        })

    it("登陆案例", function ()
    {
        cy.log("读取login.json文件账号:"+this.login.username)
        cy.log("读取login.json文件密码:"+this.login.password)
    })
    })

运行结果

登录案例

接下来把账号和密码放 login.json 文件,登录的网页的时候使用 fixture 读取数据

{
  "username": "admin",
  "password": "Yoyo123456",
  "include": "/zentao/my/",
  "text": "我的地盘",
  "zentaosid": "exist"
}

登录 web 网站按钮参考前面这篇https://www.cnblogs.com/yoyoketang/p/12873091.html

/**
 * Created by dell on 2020/5/14.
 * 作者:上海-悠悠 交流QQ群:939110556
 */

describe('登陆web网站案例', function() {
    beforeEach(() => {
          cy.visit('http://ip:8080/zentao/user-login.html');
          cy.fixture('login.json').as('login')
        })

    it("登陆案例", function ()
    {
        cy.log("读取login.json文件账号:"+this.login.username)
        cy.log("读取login.json文件密码:"+this.login.password)
        // let 定义变量
        let username = this.login.username
        let password = this.login.password
        let include = this.login.include
        let text = this.login.text
        let zentaosid = this.login.zentaosid
        //输入用户名
        cy.get('#account').type(username)
              .should('have.value', username)
        // 输入密码
        cy.get('[name="password"]').type(password)
              .should('have.value', password)
        // 提交表单
        cy.get('#submit').click()
        // 判断页面跳转到 /zentao/my/
        cy.url().should('include', include)
        // and '欢迎您:admin' in page
        cy.get('body').should('contain', text)
        // 判断存在cookie值 'zentaosid'
        cy.getCookie('zentaosid').should(zentaosid)
    })
    })

运行结果

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-05-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 从零开始学自动化测试 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 登录案例
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档