如何在塞浦路斯验证html响应主体API测试



我一直在测试一个API。现在我得到了HTML格式的API响应,其中我有表数据(没有表名(,在I下有ahref标记和测试。我必须验证响应主体的ahref文本。

所以任何人都有任何对我有帮助的想法。

我试过了:

cy.wrap(res.body).get('table').contains('td','textname')

但是得到超时错误。

您可以使用JavaScript的DOMParser将字符串解析为DOM变量。

it('tests something', () => {
// Declare the DOMParser
const parser = new DOMParser();
cy.request('/foo').then((res) => {
// Parse the string (in this case, the response body) as a `text/html` object.
const dom = parser.parseFromString(res.body, 'text/html');
// use document functions below to traverse the dom
});
});

要使用Cypress命令从响应中测试HTML,您需要编写并访问它,以便Cypress认为它是一个合法的网页

cy.writeFile('./cypress/fixtures/fragment.html', html)
.then(() => {            // writing is async so wait for it to complete
cy.visit('./cypress/fixtures/fragment.html')
cy.get('table').contains('td','textname')
})

应该在单独的it()块中进行,以避免与您的主应用程序页面发生冲突。

否则,您可以按照@agoff的模式并使用dom.querySelector()来查询数据。

相关内容

  • 没有找到相关文章

最新更新