Cypress Assertion .should () не работает - PullRequest
0 голосов
/ 30 апреля 2019

Я хочу использовать

cy.getByTestId(testId)
        .should('have.attr', 'data-testStatus', 'OK')
        .and('have.attr', 'opacity', '0');

и cy.getByTestId(testId) дает мне это:

<circle class="js-components-SvgFiles-SvgBearingBlock-___SvgBearingBlock__featureSelected___RhROg" 
cx="66.5" cy="66.5" r="29.925" stroke-width="0" opacity="0" data-testStatus="OK" data-testid="fixedBearing_Circle"></circle>

, но я всегда получаю это сообщение об ошибке:

expected <circle.js-components-SvgFiles-SvgBearingBlock-___SvgBearingBlock__featureSelected___RhROg> to have attribute data-testStatus 

Почему .should( не использует внешний html?


Я проверил все ваши рекомендации.К сожалению, всегда с тем же результатом:

[1]: https://i.stack.imgur.com/yhUlu.png

Это код, написанный в React:

return (
    <svg className={cn(style.svg, className)} width={size} height={size}
         data-testid={blockType+'_'+( isLeftSide?'Left':'Right')} data-testStatus={testIdPlane}>
      {feature}
      {/* id of the bearing*/}
      <text
        className={colorText}
        x={textPos}
        y={size * 0.85}
        textAnchor="middle"
        fontSize={fontSize}
        fontWeight="bold"
      >
        {text}
      </text>
      {dummyText}
    </svg>
  );

То есть Код реагирования

И я только что понял, что такие вещи:

cy.getByTestId('slidingBearing_Line')
            .should('have.attr', 'opacity', '1')
            .and('have.attr', 'y')
            .should('gt', y);

работает

1 Ответ

0 голосов
/ 30 апреля 2019

Пожалуйста, попробуйте следующий код.

cy.get('[data-testid="fixedBearing_Circle"]')
    .should('have.attr', 'data-testStatus', 'OK')
    .and('have.attr', 'opacity', '0');

Снимок экрана: Screenshot of the result

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