4

我正在尝试向要访问的 URL 插入值。我用这个(例如):

const idp = '10'
    
cy.visit('http://test.com/aaa/bbb?id=${idp}')

但是当我运行它时,它将以 thishttp://test.com/aaa/bbb?id=$%7Bidp%7D 而不是id=10.

我也很感兴趣如何从 URL 获取变量的值。

例如,我有 URL http://test.com/aaa/bbb?id=5,我想创建变量 idc,其值为 5。

4

2 回答 2

4

我认为您使用了错误的引号,您需要使用反引号来使用Template Literals

cy.visit(`http://test.com/aaa/bbb?id=${idp}`)

然后,您可以使用cy.url()获取当前 URL 作为字符串并使用 JavaScript 正常解析字符串。

于 2020-01-28T11:02:04.440 回答
0

对于您问题的第一部分,您需要使用模板文字文档中概述的反引号(也称为重音符号)而不是常规引号。然后你的线看起来像 -

cy.visit(`http://test.com/aaa/bbb?id=${idp}`)

对于问题的第二部分,您可以使用URLSearchParams(注意这在 IE 中不起作用)。一个例子是 -

var url = new URL("http://test.com/aaa/bbb?id=5");
var searchParams = new URLSearchParams(url.search);
const urlParams = new URLSearchParams(searchParams );
const myParam = urlParams .get('id');
于 2020-01-28T11:16:04.413 回答