Cypress系列(43)- visit() 命令详解
时间:2022-07-24
本文章向大家介绍Cypress系列(43)- visit() 命令详解,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
如果想从头学起Cypress,可以看下面的系列文章哦
https://www.cnblogs.com/poloyy/category/1768839.html
作用
访问远程 URL
语法格式
cy.visit(url)
cy.visit(url, options)
cy.visit(options)
参数讲解
url
两种值
- 需要直接访问的 URL,可以是一个完整的 URL,比如:https://www.cnblogs.com/poloyy/
- html 文件的相对路径,路径是相对于 Cypress 的安装目录,不需要 前缀
file://
Cypress 关于 url 的最佳实践
- 建议在使用 时,在 cypress.json 里设置一个baseUrl
cy.visit()
- baseUrl 相当于一个全局共享的 host,在使用 和 request() 等命令时自动将 baseUrl 传递进去
visit()
- 优势:首次启动 Cypress 测试时,添加 baseUrl 还可以节省一些时间
不添加 baseUrl 的影响
一旦遇到 cy.visit() ,Cypress 便将主窗口的 URL 切换到访问指定的 URL,首次开始测试时,可能会导致刷新或重新加载
添加 baseUrl 的优势
- 通过设置 baseUrl,可以完全避免重新加载
- 测试开始后,Cypress 会将主窗口加载到您指定的 baseUrl 中
添加 baseUrl
baseUrl 未运行
如果在 cypress 打开期间,指定了 baseUrl ,但服务器未运行,则会看到错误
如果在 cypress 运行期间几次重试后,服务器未在指定的 baseUrl 上运行,也会显示错误
其他参数 options
参数 |
默认 |
作用 |
---|---|---|
method |
GET |
请求方法,GET或POST |
body |
null |
l 与POST请求一起发送的数据体 l 如果是字符串,则将其原封不动地传递 l 如果是一个对象,它将被URL编码为字符串,并加上Content-Type:application / x-www-urlencoded |
headers |
{} |
请求头 |
qs |
null |
Url的请求参数 |
log |
true |
是否打印日志 |
auth |
null |
添加基本授权标头 |
failOnStatusCode |
true |
是否在2xx和3xx以外的响应代码上标识为失败 |
onBeforeLoad |
function |
在页面加载所有资源之前调用指定的方法 |
onLoad |
function |
页面触发加载事件后调用 |
retryOnStatusCodeFailure |
false |
当状态码是错误码时,Cypress是否自动重试,最多重试4次 |
retryOnNetworkFailure |
true |
当网络错误时,Cypress是否自动重试,最多重试4次 |
timeout |
pageLoadTimeout |
最长等待 .visit() 完成的时间 |
正确写法
// 在新的窗口打开 URL
cy.visit('http://localhost:3000')
cy.visit('./pages/hello.html')
具体的栗子
直接访问
加上 timeout 参数
加上 auth
加上 onBeforeLoad
加上 onLoad
加上 qs
加上 method 和 body
使用 window 对象
- 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 数组属性和方法