#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')