Есть ли способ проверить шестнадцатеричный цвет — Cypress

#javascript #testing #cypress

#javascript #тестирование #cypress

Вопрос:

В настоящее время я занят тестированием на Cypress. Я на самом деле новичок, поэтому я не так хорошо знаком со всем вокруг, но я пытаюсь протестировать свойство CSS background-color для определенного элемента, но проблема в том, что за кулисами все RGB, но мне нужно протестировать на шестнадцатеричном. Итак, я спрашиваю себя, есть ли способ сделать это или необходим перевод?

   cy.get('#button-login')
   .should('have.css', 'background-color', "#6a7ba3")
 

ОШИБКА : ...to have CSS property 'background-color' with the value '#6a7ba3', but the value was 'rgb(106, 123, 163)'

Комментарии:

1. Вопрос в том, как превратить шестнадцатеричные коды в rgb?

2. Вы читали, например github.com/cypress-io/cypress/issues/2186 ?

3. Другая возможность — установить библиотеку утверждений chai-colors, тогда вы можете сделать что-то вроде cy.get('#button-login').should('have.css', 'background-color').and('be.colored', '#6a7ba3')

4. @JohnM как эта библиотека используется внутри Cypress. Я не могу понять достаточно ясно. Спасибо

5. Смотрите https://www.chaijs.com/plugins/chai-colors/

Ответ №1:

Вы можете добиться того, чего хотите, используя плагин утверждения chai-colors.

Установите следующим образом:

 npm install chai-colors
 

Затем добавьте это в свой код:

 import chaiColors from 'chai-colors'
chai.use(chaiColors)
 

Или это, если применимо:

 var chaiColors = require('chai-colors');    
chai.use(chaiColors);
 

Теперь вы можете написать свое утверждение следующим образом:

 cy.get('#button-login')
  .should('have.css', 'background-color')
  .and('be.colored', '#6a7ba3')