gpt4 book ai didi

javascript - Cypress - 使用 JQuery 对 XHR 请求的 XML 响应解析

转载 作者:行者123 更新时间:2023-11-30 19:42:30 29 4
gpt4 key购买 nike

我有一个 Cypress 测试,它触发 XHR 请求,该请求返回 XML 响应。我的目标是解析 XML 响应并验证几个节点。我使用了 JQuery - parseXML(),它按预期工作;但是,当我尝试迭代已解析的 XML 时,我遇到了以下错误,

ReferenceError: $ is not defined

我怀疑这一行 -> Cypress.$(java).each(function()

Cypress 测试:

 it("cy.request - make an XHR request", () => {
cy.request({
log: true,
url: "SOME_URL",
auth: {
user: Cypress.env('userName'),
pass: Cypress.env('password')
}
}).then(response => {
const xml = Cypress.$.parseXML(response.body)
cy.log(response.body)
console.log(xml)
const java = xml.getElementsByTagName('java')
Cypress.$(java).each(function() {
cy.log($(this).find("configuration>property>name").text())
})
expect(response).property("status").to.equal(200);
});
});

示例 XML 响应:

<workflow-app name="Samyghjggjg" xmlns="hjkh">
<action name="etl-69b5" retry-max="0" retry-interval="10">
<java>
<configuration>
<property>
<name>mapred.job.queue.name1</name>
</property>
</configuration>
</java>
<java>
<configuration>
<property>
<name>mapred.job.queue.name2</name>
</property>
</configuration>
</java>
</action>
</workflow-app>

做了一些分析并记录了来自 - https://docs.cypress.io/api/utilities/$.html#Syntax 的以下详细信息

Calling Cypress.$('button') will automatically query for elements in your remote window. In other words, Cypress automatically sets the document to be whatever you’ve currently navigated to via cy.visit().

如果您能提供任何帮助来解决这个问题,我们将不胜感激。

最佳答案

我假设在 cy.log($(this).... 中你可能仍然需要添加 cy.log(Cypress.$(this)... 以便在 Cypress 中使用 jquery。我还没有尝试过,但值得一试。

Cypress.$(java).each(function() {
cy.log(Cypress.$(this).find("configuration>property>name").text())
})

关于javascript - Cypress - 使用 JQuery 对 XHR 请求的 XML 响应解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55253278/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com