Heim >Web-Frontend >CSS-Tutorial >Wie teste ich die CSS-Eigenschaften eines Elements mit Protractor?
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.
Die Verwendung von Protractor zum Testen der CSS-Eigenschaften eines Elements erfordert die folgenden Schritte.
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
Binärdateien aktualisieren -
webdriver-manager update
Laufender Server -
webdriver-manager start
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://'; } };
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)'); }); });
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.
<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>
Um den Test auszuführen, verwenden Sie den folgenden Befehl im Terminal –
protractor conf.js --suite css-property
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
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 -
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)');
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)'); }); }); });
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 -
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;');
Im gegebenen Beispiel testen wir, ob das style-Attribut des Elements der Klasse test-class die CSS-Eigenschaft color: green;
enthältdescribe('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); }); }); });
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 -
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)');
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)'); }); }); });
测试元素的 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!