我想捕获生成的href的字符串表示形式,并在以后浏览的页面中使用它。
我尝试使用cy.get(),cy.find()等捕获锚点,因此以后可以单击(),但是显然,离开页面后,链接变得陈旧。我尝试链接到then(),也尝试使用.getAttribute(),但返回的对象不是字符串。
我正在努力寻找一种方法来获取cypress对象的基础值,即使调用cy.document()也会返回一个cypress表示形式,而不是我凭直觉就想到的是 THE DOM文档。显然,我不知道赛普拉斯在做什么,或者除了我感觉到我正在尝试实现某些赛普拉斯反模式以外,对框架的观点没有任何线索。
我不太在乎,但是我想捕获生成的URL,可以在页面的定位标记href中找到该URL。请有人建议我如何捕获字符串值,以便以后可以在cy.request()中使用它。
以后,如果需要,我可以在电脑旁张贴一些示例,但我怀疑我的描述足够了,但否则请告知我。
示例:
describe('Test Description', function () {
var capturedHref = "";
before(function() {
// can set the name here, it becomes the context text on an anchor
generateLinkViaAppFunctionality();
// find by the content text taken from name on link generation
capturedHref = <href from link>
}
it('Test', function() {
cy.visit('some app page');
doStuff();
cy.visit(capturedHref);
})
}
答案 0 :(得分:1)
这对您有用吗?我在赛普拉斯文档中使用了锚来进行测试。
describe('Test anchor link', function(){
it('test', function(){
let anchorlink = '';
let url = 'https://docs.cypress.io/guides/overview/why-cypress.html#Who-uses-Cypress';
cy.visit(url);
cy.get('#Cypress-ecosystem > a').then(($anchorlink)=>{
anchorlink = $anchorlink.prop('href');
console.log(anchorlink);
})
});
});
您以后可以使用它。