Pro*_*rus 4 testing url automation path cypress
我正在编写 CY 测试,并试图自己解决它几个小时,但没有成功。你能帮我一下吗:)
每次运行测试时我都会得到新的 URL,例如
我只需要保存
/en/info/is/here/(因此没有域名)
我需要稍后将其与另一个 href 进行比较。
您能否告诉我如何做到这一点,或者至少是方向?多谢!
cy.location ()命令为您提供命名部分,因此示例中pathname
就是您需要的部分
cy.visit('http://localhost:8000/app/index.html?q=dan#/users/123/edit')
cy.location().should((loc) => {
..
cy.wrap(loc.pathname).as('url1')
...
})
Run Code Online (Sandbox Code Playgroud)
如果您也有搜索或哈希
cy.visit('http://localhost:8000/app/index.html?q=dan#/users/123/edit')
cy.location().should((loc) => {
..
cy.wrap(loc.pathname + loc.search + loc.hash).as('url1')
...
})
Run Code Online (Sandbox Code Playgroud)
小智 5
.split()
您可以在 URL 字符串上使用。
保存位置取决于其使用位置。
在一项测试中:
let pathname
cy.url().then((url) => url.split('/').slice(3)).as('pathname1')
...
cy.get('@pathname1').then(pathname1 => {
expect(pathname1).to.eq(pathname2)
})
Run Code Online (Sandbox Code Playgroud)
测试之间:
let pathname1
it('gets first pathname', () => {
cy.url().then((url) => pathname1 = url.split('/').slice(3))
})
it('uses first pathname', () => {
expect(pathname1).to.eq(pathname2)
})
Run Code Online (Sandbox Code Playgroud)