Inhaltsverzeichnis
Erforderliche Schritte zum Testen der CSS-Eigenschaften eines Elements mit Protractor
Schritt 1: Winkelmesser aufstellen
Schritt 2: Conf.js-Datei erstellen
Schritt 3: Testspezifikation erstellen
Schritt 4: Erstellen Sie eine HTML-Datei mit Testelementen
Schritt 5: Führen Sie den Test durch
Verschiedene Möglichkeiten zum Testen von CSS-Eigenschaften mit Protractor
Methode 1: Verwenden Sie die GetCssValue()-Methode
Grammatik
Beispiel
Methode 2: Verwenden Sie die GetAttribute()-Methode
Methode 3: Verwenden Sie die Methode Browser.executeScript()
结论
Heim Web-Frontend CSS-Tutorial Wie teste ich die CSS-Eigenschaften eines Elements mit Protractor?

Wie teste ich die CSS-Eigenschaften eines Elements mit Protractor?

Aug 27, 2023 am 10:37 AM

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

Das Testen von CSS-Eigenschaften ist entscheidend, um die Qualität Ihrer Webanwendung sicherzustellen. CSS-Eigenschaften bestimmen, wie Elemente auf einer Webseite angezeigt werden, z. B. Schriftgröße, Farbe und Layout. Das Testen von CSS-Eigenschaften kann dabei helfen, Fehler zu erkennen und sicherzustellen, dass Ihre Anwendung wie erwartet aussieht und funktioniert. Ein Tool namens Protractor bietet Entwicklern verschiedene Möglichkeiten zum Testen von CSS-Eigenschaften.

Protractor ist ein beliebtes End-to-End-Test-Framework, das WebDriver verwendet, um Interaktionen zwischen Webanwendungen und Browsern zu automatisieren. Es wird häufig zum Testen von Angular-Anwendungen verwendet, kann aber auch zum Testen anderer Webanwendungen verwendet werden.

In diesem Artikel erfahren Sie, wie Sie die CSS-Eigenschaften eines Elements mithilfe von Protractor testen. Wir lernen verschiedene Möglichkeiten zur Durchführung von Testvorgängen kennen.

Erforderliche Schritte zum Testen der CSS-Eigenschaften eines Elements mit Protractor

Die Verwendung von Protractor zum Testen der CSS-Eigenschaften eines Elements erfordert die folgenden Schritte.

Schritt 1: Winkelmesser aufstellen

Um Protractor zu verwenden, stellen Sie sicher, dass es zusammen mit den erforderlichen Abhängigkeiten auf Ihrem System installiert ist.

  • Winkelmesser installieren -

npm install -g protractor
Nach dem Login kopieren
  • Binärdateien aktualisieren -

webdriver-manager update
Nach dem Login kopieren
  • Laufender Server -

webdriver-manager start
Nach dem Login kopieren

Schritt 2: Conf.js-Datei erstellen

Die Datei conf.js im Protractor-Projekt ist eine Konfigurationsdatei, die verschiedene Einstellungen und Optionen für die Protractor-Testsuite enthält. Erstellen wir eine Datei namens 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://';
   }
};
Nach dem Login kopieren

Schritt 3: Testspezifikation erstellen

Erstellen Sie nach dem Einrichten von Protractor eine neue Testspezifikationsdatei mit einem beliebigen Namen, z. B. test.js usw. Wir können eine neue Datei im Specs-Verzeichnis des Protractor-Projekts erstellen.

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)');
   });
});
Nach dem Login kopieren

Im obigen Code verwenden wir die Klasse test-class, um das Farbattribut des Elements zu testen. Wir erwarten, dass das Farbattribut rgba(53, 163, 59, 0,2) ergibt.

Schritt 4: Erstellen Sie eine HTML-Datei mit Testelementen

<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>
Nach dem Login kopieren

Schritt 5: Führen Sie den Test durch

Um den Test auszuführen, verwenden Sie den folgenden Befehl im Terminal –

protractor conf.js --suite css-property
Nach dem Login kopieren

Im obigen Befehl ist conf.js die Konfigurationsdatei des Protractor-Projekts und --suite css-property gibt an, dass nur Tests in der css-property-Suite ausgeführt werden sollen.

Nachdem Sie den Test ausgeführt haben, können Sie die Testergebnisse im Terminal anzeigen. Wenn der Test erfolgreich ist, wird eine Meldung wie diese angezeigt -

CSS-Eigenschaften von Elementen testen

✓ Sollte die richtige Farbe haben

1 Spezifikation, 0 Fehler

Verschiedene Möglichkeiten zum Testen von CSS-Eigenschaften mit Protractor

Methode 1: Verwenden Sie die GetCssValue()-Methode

Die erste von Protractor bereitgestellte Methode ist die Methode getCssValue(), mit der der berechnete Wert der CSS-Eigenschaft des Elements abgerufen wird. Diese Methode verwendet den Namen einer CSS-Eigenschaft als Parameter und gibt ihren berechneten Wert zurück. Hier ist die Syntax und Beispiele -

Grammatik

Hier ist die Syntax zum Testen von CSS-Eigenschaften mit der Methode getCssValue() von Protractor.

const element = element(by.css('.test-class'));
expect(element.getCssValue('color')).toEqual('rgba(53, 163, 59, 0.2)');
Nach dem Login kopieren

Beispiel

Im gegebenen Beispiel verwenden wir die Klasse test class, um das Farbattribut des Elements zu testen. Der erwartete berechnete Wert für die Farbeigenschaft ist 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)');
      });
   });
});
Nach dem Login kopieren

Methode 2: Verwenden Sie die GetAttribute()-Methode

Die zweite Möglichkeit, die CSS-Attribute eines Elements zu testen, besteht darin, die Methode getAttribute() zu verwenden, um den Wert des Stilattributs des Elements abzurufen. Das style-Attribut enthält den auf das Element angewendeten Inline-Stil. Hier ist die Syntax und Beispiele -

Grammatik

Hier ist die Syntax zum Testen von CSS-Attributen mit der getAttribute()-Methode von Protractor.

const element = element(by.css('.test-class'));
expect(element.getAttribute('style')).toContain('color: green;');
Nach dem Login kopieren

Beispiel

Im gegebenen Beispiel testen wir, ob das style-Attribut des Elements der Klasse test-class die CSS-Eigenschaft color: green;

enthält
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);
      });
   });
});
Nach dem Login kopieren

Methode 3: Verwenden Sie die Methode Browser.executeScript()

Die dritte Methode, die zum Testen von CSS-Eigenschaften verwendet werden kann, ist die Methode browser.executeScript(), die JavaScript-Code im Browserkontext ausführt und den berechneten Wert der CSS-Eigenschaft abruft. Hier ist die Syntax und Beispiele -

Grammatik

Hier ist die Syntax zum Testen von CSS-Eigenschaften mit der browser.executeScript()-Methode von 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)');
Nach dem Login kopieren

Beispiel

Im gegebenen Beispiel führen wir JavaScript-Code im Browserkontext aus, um den berechneten Wert des Farbattributs des Elements mit der Testklasse zu erhalten. Hier verwenden wir die Methode window.getCompulatedStyle(), um den berechneten Stil des Elements abzurufen, und die Methode getPropertyValue(), um den Wert der Farbeigenschaft abzurufen.

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)');
      });
   });
});
Nach dem Login kopieren

结论

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

Das obige ist der detaillierte Inhalt vonWie teste ich die CSS-Eigenschaften eines Elements mit Protractor?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Arbeiten mit GraphQL Caching Arbeiten mit GraphQL Caching Mar 19, 2025 am 09:36 AM

Wenn Sie kürzlich mit GraphQL gearbeitet oder seine Vor- und Nachteile überprüft haben, haben Sie zweifellos Dinge wie "GraphQL nicht unterstützen Caching" oder gehört

Aufbau einer Ethereum -App mit Redwood.js und Fauna Aufbau einer Ethereum -App mit Redwood.js und Fauna Mar 28, 2025 am 09:18 AM

Mit dem jüngsten Aufstieg von Bitcoins Preis über 20.000 USD und kürzlich von 30.000, dachte ich, es lohnt

Erstellen Sie Ihr eigenes Bragdoc mit ELEITY Erstellen Sie Ihr eigenes Bragdoc mit ELEITY Mar 18, 2025 am 11:23 AM

Unabhängig davon, in welcher Phase Sie als Entwickler Sie befinden, haben die Aufgaben, die wir erledigen - ob groß oder klein - einen enormen Einfluss auf unser persönliches und berufliches Wachstum.

Vue 3 Vue 3 Apr 02, 2025 pm 06:32 PM

Es ist aus! Herzlichen Glückwunsch an das Vue -Team, dass es eine massive Anstrengung war und lange kommt. Alle neuen Dokumente auch.

Können Sie gültige CSS -Eigenschaftswerte aus dem Browser erhalten? Können Sie gültige CSS -Eigenschaftswerte aus dem Browser erhalten? Apr 02, 2025 pm 06:17 PM

Ich ließ jemanden mit dieser sehr legitimen Frage einschreiben. Lea hat gerade darüber gebloggt, wie Sie gültige CSS -Eigenschaften selbst aus dem Browser erhalten können. Das ist so.

Ein bisschen auf CI/CD Ein bisschen auf CI/CD Apr 02, 2025 pm 06:21 PM

Ich sage "Website" passt besser als "Mobile App", aber ich mag dieses Rahmen von Max Lynch:

Gestapelte Karten mit klebriger Positionierung und einem Schuss Sass Gestapelte Karten mit klebriger Positionierung und einem Schuss Sass Apr 03, 2025 am 10:30 AM

Neulich habe ich dieses besonders schöne Stück von der Website von Corey Ginnivan entdeckt, auf der eine Sammlung von Karten aufeinander stapelt.

Vergleich von Browsern für reaktionsschnelles Design Vergleich von Browsern für reaktionsschnelles Design Apr 02, 2025 pm 06:25 PM

Es gibt eine Reihe dieser Desktop -Apps, in denen das Ziel Ihre Website gleichzeitig in verschiedenen Dimensionen angezeigt wird. So können Sie zum Beispiel schreiben

See all articles