Проверка столбца таблицы Cypress Web с помощью цикла - PullRequest
1 голос
/ 28 мая 2020

enter image description here

Привет всем, я новичок в кипарисовике. из изображения у меня есть два раскрывающихся свойства, в «Информация о безопасности» есть возможность добавить безопасность в замораживание. если я добавлю больше ценных бумаг, это будет показано в виде таблицы. в настоящее время для заморозки добавлены две защиты (72135,72149). а в разделе Rebalancing Grid у меня есть еще одна таблица, которая содержит более подробную информацию о securityiD. Теперь мне нужно проверить, существуют ли два идентификатора безопасности в приведенных ниже таблицах или нет, а значение Start $ правильное или нет. Я могу получить идентификаторы securityID из 1-й таблицы и сохранить их в переменной, но как я могу проверить их с помощью вторых таблиц.

Я объявил переменную security = [72135,72149] вручную для тестирования, теперь Мне нужно найти ценные бумаги из переменной во второй таблице, и если я ее получу, то найду значение securityID из другого столбца во второй таблице. Я застрял в получении значения для этой конкретной ценной бумаги из столбцов «Start $». он всегда показывает 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 голосов
/ 28 мая 2020

Из кипариса до c:

<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 для достижения столбца таблицы

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...