Table des matières
Étapes requises pour tester les propriétés CSS d'un élément à l'aide de Protractor
Étape 1 : Configurer le rapporteur
Étape 2 : Créer un fichier Conf.js
Étape 3 : Créer une spécification de test
Étape 4 : Créer un fichier HTML contenant des éléments de test
Étape 5 : Exécutez le test
Différentes façons de tester les propriétés CSS à l'aide de Protractor
Méthode 1 : utilisez la méthode GetCssValue()
Grammaire
Exemple
Méthode 2 : utilisez la méthode GetAttribute()
Méthode 3 : utilisez la méthode Browser.executeScript()
结论
Maison interface Web tutoriel CSS Comment tester les propriétés CSS d'un élément à l'aide de Protractor ?

Comment tester les propriétés CSS d'un élément à l'aide de Protractor ?

Aug 27, 2023 am 10:37 AM

如何使用 Protractor 测试元素的 CSS 属性?

Tester les propriétés CSS est crucial pour garantir la qualité de votre application Web. Les propriétés CSS déterminent la façon dont les éléments apparaissent sur une page Web, comme la taille de la police, la couleur et la mise en page. Tester les propriétés CSS peut aider à détecter les erreurs et à garantir que votre application ressemble et fonctionne comme prévu. Un outil appelé Protractor offre aux développeurs différentes manières de tester les propriétés CSS.

Protractor est un framework de test de bout en bout populaire qui utilise WebDriver pour automatiser les interactions entre les applications Web et les navigateurs. Il est largement utilisé pour tester des applications angulaires, mais peut également être utilisé pour tester d'autres applications Web.

Dans cet article, nous apprendrons comment tester les propriétés CSS d'un élément à l'aide de Protractor. Nous apprendrons différentes manières d’effectuer des opérations de test.

Étapes requises pour tester les propriétés CSS d'un élément à l'aide de Protractor

Utiliser Protractor pour tester les propriétés CSS d'un élément nécessite les étapes suivantes.

Étape 1 : Configurer le rapporteur

Pour utiliser Protractor, assurez-vous qu'il est installé sur votre système avec les dépendances requises.

  • Installer le rapporteur -

npm install -g protractor
Copier après la connexion
  • Mettre à jour les binaires -

webdriver-manager update
Copier après la connexion
  • Serveur en cours d'exécution -

webdriver-manager start
Copier après la connexion

Étape 2 : Créer un fichier Conf.js

Le fichier conf.js du projet Protractor est un fichier de configuration qui contient divers paramètres et options pour la suite de tests Protractor. Créons un fichier appelé conf.js

exports.config = {
   seleniumAddress: 'http://localhost:4444/wd/hub',
   specs: ['spec.js'],
   capabilities: {
      browserName: 'chrome'
   },
   onPrepare: function () {
      browser.manage().window().maximize();
   },
   jasmineNodeOpts: {
      showColors: true,
      defaultTimeoutInterval: 30000
   },  
   baseUrl: 'file://' + __dirname + '/',  
   onPrepare: function () {
      browser.resetUrl = 'file://';
   }
};
Copier après la connexion

Étape 3 : Créer une spécification de test

Après avoir configuré Protractor, créez un nouveau fichier de spécifications de test avec n'importe quel nom, tel que test.js, etc. Nous pouvons créer un nouveau fichier dans le répertoire specs du projet Protractor.

describe('Test CSS property of an element', () => {
   it('should have the correct color', () => {
      browser.get('https://tutorialspoint.com');
      const element = element(by.css('.test-class));
      expect(element.getCssValue('color')).toEqual('rgba(53, 163, 59, 0.2)');
   });
});
Copier après la connexion

Dans le code ci-dessus, nous utilisons la classe test-class pour tester l'attribut color de l'élément. Nous nous attendons à ce que l'attribut color soit évalué à rgba(53, 163, 59, 0.2).

Étape 4 : Créer un fichier HTML contenant des éléments de test

<html>
<head>
   <title>Testing</title>
</head>
<body>
   <!-- Test element -->
   <div class="test-class"
      style="color: rgba(53, 163, 59, 0.2)">
      Inner text
   </div>
</body>
</html>
Copier après la connexion

Étape 5 : Exécutez le test

Pour exécuter le test, utilisez la commande suivante dans le terminal -

protractor conf.js --suite css-property
Copier après la connexion

Dans la commande ci-dessus, conf.js est le fichier de configuration du projet Protractor, et --suite css-property spécifie que seuls les tests de la suite css-property doivent être exécutés.

Après avoir exécuté le test, vous pouvez afficher les résultats du test dans le terminal. Si le test réussit, vous verrez un message comme celui-ci -

Tester les propriétés CSS des éléments

✓ Doit avoir la bonne couleur

1 spécification, 0 échec

Différentes façons de tester les propriétés CSS à l'aide de Protractor

Méthode 1 : utilisez la méthode GetCssValue()

La première méthode fournie par Protractor est la méthode getCssValue(), qui est utilisée pour obtenir la valeur calculée de la propriété CSS de l'élément. Cette méthode prend le nom d'une propriété CSS en paramètre et renvoie sa valeur calculée. Voici la syntaxe et les exemples -

Grammaire

Voici la syntaxe pour tester les propriétés CSS à l'aide de la méthode getCssValue() de Protractor.

const element = element(by.css('.test-class'));
expect(element.getCssValue('color')).toEqual('rgba(53, 163, 59, 0.2)');
Copier après la connexion

Exemple

Dans l'exemple donné, nous utilisons la classe de test de classe pour tester l'attribut color de l'élément. La valeur calculée attendue pour la propriété color est rgba(53, 163, 59, 0.2).

describe('Test CSS property of an element using getCssValue()', () => {
   it('should have the correct color', () => {
      browser.get('https://example.com');
      const element = element(by.css('.test-class'));
      element.getCssValue('color').then(function(value) {
         expect(value).toEqual('rgba(53, 163, 59, 0.2)');
      });
   });
});
Copier après la connexion

Méthode 2 : utilisez la méthode GetAttribute()

La deuxième façon de tester les attributs CSS d'un élément consiste à utiliser la méthode getAttribute() pour obtenir la valeur de l'attribut de style de l'élément. L'attribut style contient le style en ligne appliqué à l'élément. Voici la syntaxe et les exemples -

Grammaire

Voici la syntaxe pour tester les attributs CSS à l'aide de la méthode getAttribute() de Protractor.

const element = element(by.css('.test-class'));
expect(element.getAttribute('style')).toContain('color: green;');
Copier après la connexion

Exemple

Dans l'exemple donné, nous testons si l'attribut style de l'élément de classe test-class contient la propriété CSS color: green;

describe('Test CSS property of an element using getAttribute()', () => {
   it('should have the correct color', () => {
      browser.get('https://example.com');
      const element = element(by.css('.test-class'));
      element.getAttribute('style').then(function(value) {
         expect(value).toContain('color: green);
      });
   });
});
Copier après la connexion

Méthode 3 : utilisez la méthode Browser.executeScript()

La troisième méthode qui peut être utilisée pour tester les propriétés CSS est la méthode browser.executeScript(), qui exécute le code JavaScript dans le contexte du navigateur et obtient la valeur calculée de la propriété CSS. Voici la syntaxe et les exemples -

Grammaire

Voici la syntaxe pour tester les propriétés CSS à l'aide de la méthode browser.executeScript() de Protractor.

const element = element(by.css('.test-class'));
const color = browser.executeScript('return window.getComputedStyle(arguments[0]).getPropertyValue("color");', element);
expect(color).toEqual('rgba(53, 163, 59, 0.2)');
Copier après la connexion

Exemple

Dans l'exemple donné, nous exécutons du code JavaScript dans le contexte du navigateur pour obtenir la valeur calculée de l'attribut color de l'élément avec la classe de test. Ici, nous utilisons la méthode window.getCompulatedStyle() pour obtenir le style calculé de l'élément, et la méthode getPropertyValue() pour obtenir la valeur de la propriété color.

describe('Test CSS property of an element using browser.executeScript()', () => {
   it('should have the correct color', () => {
      browser.get('https://example.com');
      const element = element(by.css('.test-class'));
      browser.executeScript('return window.getComputedStyle(arguments[0]).color;', element).then(function(value) {
         expect(value).toEqual('rgba(53, 163, 59, 0.2)');
      });
   });
});
Copier après la connexion

结论

测试元素的 CSS 属性是确保应用程序具有视觉吸引力和功能性的重要步骤。一个非常重要的工具 Protractor 用于以有效的方式执行此类测试,以测试使用 getCssValue() 和 getAttribute() 方法的元素的 CSS 属性。在本文中,我们了解了进行测试的完整步骤,现在如果您已按照本文中概述的步骤进行操作,则可以轻松设置 Protractor 并创建测试规范来测试元素的 CSS 属性。事实证明,使用 Protractor 测试 Web 应用程序(包括 Angular 应用程序)是可靠且高效的。有了这些知识,我们就可以编写有效的端到端测试,涵盖 Web 应用程序功能的所有方面,包括视觉外观。

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Demystifier les lecteurs d'écran: formulaires accessibles et meilleures pratiques Demystifier les lecteurs d'écran: formulaires accessibles et meilleures pratiques Mar 08, 2025 am 09:45 AM

Ceci est le 3ème article d'une petite série que nous avons faite sur l'accessibilité. Si vous avez manqué le deuxième article, consultez "Gestion de la mise au point des utilisateurs avec: Focus-visible". Dans

Ajout d'ombres de boîte aux blocs et éléments WordPress Ajout d'ombres de boîte aux blocs et éléments WordPress Mar 09, 2025 pm 12:53 PM

Le CSS Box-Shadow et les propriétés de contour ont gagné le thème. Laissez regarder quelques exemples de la façon dont cela fonctionne dans des thèmes réels et des options que nous devons appliquer ces styles aux blocs et éléments WordPress.

Créez un formulaire de contact JavaScript avec le cadre Smart Forms Créez un formulaire de contact JavaScript avec le cadre Smart Forms Mar 07, 2025 am 11:33 AM

Ce tutoriel montre la création de formulaires JavaScript professionnels à l'aide du cadre Smart Forms (Remarque: non plus disponible). Bien que le cadre lui-même ne soit pas disponible, les principes et techniques restent pertinents pour d'autres constructeurs de formulaires.

Créer un éditeur de texte en ligne avec l'attribut satisfaistable Créer un éditeur de texte en ligne avec l'attribut satisfaistable Mar 02, 2025 am 09:03 AM

La construction d'un éditeur de texte en ligne n'est pas triviale. Le processus commence par rendre l'élément cible modifiable, gérer des exceptions potentielles de syntaxerror en cours de route. Créer votre éditeur Pour créer cet éditeur, vous devrez modifier dynamiquement le contenu

Faire votre première transition Svelte personnalisée Faire votre première transition Svelte personnalisée Mar 15, 2025 am 11:08 AM

L'API de transition Svelte fournit un moyen d'animer les composants lorsqu'ils entrent ou quittent le document, y compris les transitions Svelte personnalisées.

Travailler avec GraphQL Caching Travailler avec GraphQL Caching Mar 19, 2025 am 09:36 AM

Si vous avez récemment commencé à travailler avec GraphQL ou examiné ses avantages et ses inconvénients, vous avez sans aucun doute entendu des choses comme "GraphQL ne prend pas en charge la mise en cache" ou

Comparaison des 5 meilleurs constructeurs de formulaires PHP (et 3 scripts libres) Comparaison des 5 meilleurs constructeurs de formulaires PHP (et 3 scripts libres) Mar 04, 2025 am 10:22 AM

Cet article explore les meilleurs scripts de générateur de formulaires PHP disponibles sur le marché Envato, en comparant leurs fonctionnalités, leur flexibilité et leurs design. Avant de plonger dans des options spécifiques, comprenons ce qu'est un constructeur de formulaires PHP et pourquoi vous en utiliseriez un. Un formulaire PHP

Téléchargement de fichiers avec Multer dans Node.js et Express Téléchargement de fichiers avec Multer dans Node.js et Express Mar 02, 2025 am 09:15 AM

Ce tutoriel vous guide dans la création d'un système de téléchargement de fichiers à l'aide de Node.js, Express et Multer. Nous couvrirons les téléchargements de fichiers uniques et multiples, et nous ferons même de la démonstration de stockage d'images dans une base de données MongoDB pour une récupération ultérieure. Tout d'abord, configurez votre projec

See all articles