大家好,我是柏树的新人。从图像中,我有两个下拉属性,在“安全信息”中,有一个选项可以将安全添加到冻结中。如果我添加更多证券,它将显示在表格视图中。当前,冻结中添加了两个安全性(72135,72149)。在“重新平衡网格”部分,我有另一个表,其中包含带有securityiD的更多详细信息。现在我必须从上面的表中检查是否存在两个以上的安全ID,并且Start $值正确与否。我可以从第一个表中提取securityID并将其存储在变量中,但是如何与第二个表一起检查呢?
我已经手动声明了一个变量Securities = [72135,72149]进行测试,现在我必须从第二个表中的变量中找到证券,如果我得到它,则我将从另一列中找到securityID的值在第二个表中。我一直坚持从“开始$”列中获取此特定证券的价值。它始终显示为0。 我没有找到我做错了的地方。
此处是代码:
var securities = [72135,72149]
cy.get(' :nth-child(3) > div > span:visible').then(($el,index,$list) => { //securityID column from the table
Cypress._.each(securities, (tag) => {
if (expect($el).to.contain(tag))
{
cy.get(' :nth-child(5) > div > span').then(function(amount) // Start $ column from the table
{
const amount = Number(mPrice.val())
expect(amount).to.equal(50.00)
})
}
})
})
答案 0 :(得分:0)
<ul class='main-nav'>
<li>Overview</li>
<li>Getting started
<ul class='sub-nav'>
<li>Install</li>
<li class='active'>Build</li>
<li>Test</li>
</ul>
</li>
</ul>
// yields .sub-nav
cy.get('li').parent('.sub-nav')
类似地,您需要选择包含securities
值的单元格的父元素:
[72135, 72149].forEach((value) => {
cy.get('<reference to table container>').contains(value)
.parent('<parent>')
.siblings().eq(3).find('span').then(($el) => {
const amount = Number($el.text())
assert.equal(amount, 50);
});
});
<reference to table container>
是必需的,以便cy可以从表中而不是页面中的其他任何位置选择值。
如果无法唯一选择<parent>
选择器,则可以尝试使用“老式”的链接方式.parent().parent() ...n times
到达表格列