如何修改 cypress 测试中的 URL?

1 automation javascript cypress

我编写了一个 Cypress 测试,为了避免编写第二个测试,我希望能够获取生成的 URL,并用它做两件事:

1)我想修改它以强制它到另一个页面

2) 在执行 #1 时,我还需要从 URL 中提取动态值以在修改后的 URL 中使用。

我有 cy.url() 但我不知道如何捕获我需要的值并将其设置为变量。有谁知道有什么方法可以做到这一点?我是一名新编码员,仍在学习 javascript,所以这可能很容易,但我只是不知道如何去做。任何意见是极大的赞赏!

Get*_*ald 5

要从 cy 元素中提取值,您必须使用 Promise (then 语法)。使用 JS 异步性一开始有点令人畏惧,但不要惊慌!研究这个核心概念,您将很快了解 Cypress 的工作原理!

要回答问题#1,你可以这样做:

cy.url().then(urlValue => cy.visit(urlValue + '/about');
Run Code Online (Sandbox Code Playgroud)

上面的示例将提取当前 url,您可以在下一步操作中使用它。(url 作为箭头函数参数公开,此处称为 urlValue)。