赛普拉斯Web表的循环检查列

时间:2020-05-27 21:01:42

标签: cypress

enter image description here

大家好,我是柏树的新人。从图像中,我有两个下拉属性,在“安全信息”中,有一个选项可以将安全添加到冻结中。如果我添加更多证券,它将显示在表格视图中。当前,冻结中添加了两个安全性(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)
                    })

                 }
          })
        })

1 个答案:

答案 0 :(得分:0)

From cypress doc

<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到达表格列