Skip to main content

go

导航返回或前进到浏览器历史记录中的上一个或下一个 URL。

语法

cy.go(direction)
cy.go(direction, options)

用法

正确用法

cy.go('back')

参数

direction (String, Number)

导航方向。

可以使用 backforward 来后退或前进一步。也可以导航到特定的历史位置(-1 表示后退一页,1 表示前进一页,以此类推)。

options (Object)

传入一个选项对象来改变 cy.go() 的默认行为。

选项默认值描述
logtrue命令日志 中显示该命令
timeoutpageLoadTimeout超时 前等待 cy.go() 解析的时间

生成结果 了解主题管理

  • cy.go() 在页面加载完成后返回 window 对象。
  • cy.go() 之后继续链接依赖于返回的 window 对象的命令是 不安全的

示例

方向

返回浏览器历史记录

cy.go('back') // 等同于点击后退按钮

前进浏览器历史记录

cy.go('forward') // 等同于点击前进按钮

数字

返回浏览器历史记录

cy.go(-1) // 等同于点击后退按钮

前进浏览器历史记录

cy.go(1) // 等同于点击前进按钮

注意事项

刷新和加载页面

如果前进或后退导致页面完全刷新,Cypress 会等待新页面加载完成后再执行后续命令。

Cypress 还会处理未导致页面加载的情况(例如哈希路由),并立即解析。

规则

要求 了解命令链

  • cy.go() 必须链接在 cy 之后。
  • cy.go() 要求响应为 content-type: text/html
  • cy.go() 要求在重定向后响应码为 2xx
  • cy.go() 要求最终触发 load 事件。

断言 了解断言

  • cy.go() 会自动等待链接的断言通过。

超时设置 了解超时机制

  • cy.go() 可能会因等待页面触发 load 事件而超时。
  • cy.go() 可能会因等待添加的断言通过而超时。

命令日志

返回浏览器历史记录

cy.visit('http://localhost:8000/folders').go('back')

上述命令将在命令日志中显示为:

命令日志 go

当点击命令日志中的 go 命令时,控制台会输出以下内容:

控制台日�志 go

另请参阅