Cypress系列(53)- as() 命令详解
时间:2022-07-26
本文章向大家介绍Cypress系列(53)- as() 命令详解,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
如果想从头学起Cypress,可以看下面的系列文章哦
https://www.cnblogs.com/poloyy/category/1768839.html
作用
- 起别名以供以后使用
- 可在 cy.get() 或 cy.wait() 命令中引用别名
语法格式
.as(aliasName)
正确格式
// 给第一个 li 元素起别名
cy.get('.main-nav').find('li').first().as('firstNav')
// 给网络请求的响应起别名
cy.route('PUT', 'users', 'fx:user').as('putUser')
引用别名的方式
cy.get() 或 cy.wait() 命令中使用@前缀引用的别名的名称,如 @firstNav 、 @putUser
简单的栗子
一般 .wrap() 和 as() 配对使用
cypress 代码
两个测试用例
- 获取元素,再进行判断
- 获取 wrap() 生成的对象,然后再对它进行操作
测试结果
结合 fixture() 的栗子
代码一
cy.fixture('users').as('users')
cy.log(`变量name${this.users.length}`
测试结果
为什么报错呢
- 是因为 Cypress 的命令是异步的
- 因此,无法同步访问别名的任何内容(第二行)
- 必须使用其他异步命令( 例如.then() )来访问已别名的内容
代码二
cy.fixture('users').as('users').then(function () {
cy.log(`变量name${this.users.length}`)
})
用 this. 调用别名
测试结果
结合 get() 的栗子
cypress 代码
it('via get().', () => {
cy.fixture('users.json').as('admins')
cy.get('@admins')
.then((users) => {
cy.log(`There are ${users.length} admins.`)
})
})
测试结果
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 11 | Tornado源码分析:Gen 对象(下)
- 为啥不能用uuid做MySQL的主键 ?
- 51单片机在Ubuntu下程序开发和下载
- 答应我,用了这个jupyter插件,别再重复造轮子了
- 解析 hashMap 源码之位运算
- SAP Spartacus的ComponentFactory和ComponentFactoryResolver
- 宜信OCR技术探索之版面分析业务实践|技术沙龙直播速记
- Nginx的rewrite(地址重定向)剖析
- Prometheus监控神器-Kubernetes篇(二)
- C/C++实现你的浪漫表白:浪漫流星雨表白程序
- 烂了大街的 Spring 循环依赖问题,你觉得自己会了吗
- 软件测试丨自动化测试之读取配置文件
- 一文搞懂高频面试题之限流算法,从算法原理到实现,再到对比分析
- TRTC Android端开发接入学习之实现语音通话(六)
- Shell脚本加密经验分享