Rumah >hujung hadapan web >tutorial css >Bagaimana untuk menguji sifat CSS elemen menggunakan Protractor?
Menguji sifat CSS adalah penting untuk memastikan kualiti aplikasi web anda. Sifat CSS menentukan cara elemen muncul pada halaman web, seperti saiz fon, warna dan reka letak. Menguji sifat CSS boleh membantu mengesan ralat dan memastikan aplikasi anda kelihatan dan berfungsi seperti yang diharapkan. Alat yang dipanggil Protractor menyediakan pembangun dengan cara yang berbeza untuk menguji sifat CSS.
Protractor ialah rangka kerja ujian hujung ke hujung yang popular yang menggunakan WebDriver untuk mengautomasikan interaksi antara aplikasi web dan penyemak imbas. Ia digunakan secara meluas untuk menguji aplikasi Sudut, tetapi boleh digunakan untuk menguji aplikasi web lain juga.
Dalam artikel ini, kita akan belajar cara menguji sifat CSS sesuatu elemen dengan bantuan Protractor. Kami akan mempelajari cara yang berbeza untuk melaksanakan operasi ujian.
Menggunakan Protractor untuk menguji sifat CSS sesuatu elemen memerlukan langkah berikut.
Untuk menggunakan Protractor, pastikan ia dipasang pada sistem anda bersama-sama dengan kebergantungan yang diperlukan.
Pasang Protractor -
npm install -g protractor
Kemas kini binari -
webdriver-manager update
Server Menjalankan -
webdriver-manager start
Fail conf.js dalam projek Protractor ialah fail konfigurasi yang mengandungi pelbagai tetapan dan pilihan untuk suite ujian Protractor. Mari buat fail bernama 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://'; } };
Selepas menyediakan Protractor, buat fail spesifikasi ujian baharu dengan sebarang nama, seperti test.js, dsb. Kita boleh mencipta fail baharu dalam direktori spesifikasi projek 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)'); }); });
Dalam kod di atas, kami menggunakan kelas ujian kelas untuk menguji atribut warna elemen. Kami menjangkakan atribut warna dinilai kepada rgba(53, 163, 59, 0.2).
<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>
Untuk menjalankan ujian, gunakan arahan berikut dalam terminal -
protractor conf.js --suite css-property
Dalam arahan di atas, conf.js ialah fail konfigurasi projek Protractor dan --suite css-property menentukan bahawa hanya ujian dalam suite css-property harus dijalankan.
Selepas menjalankan ujian, anda boleh melihat keputusan ujian di terminal. Jika ujian lulus, anda akan melihat mesej seperti ini -
Uji sifat CSS unsur
✓ Harus mempunyai warna yang betul
1 spesifikasi, 0 kegagalan
Kaedah pertama yang disediakan oleh Protractor ialah kaedah getCssValue(), yang digunakan untuk mendapatkan nilai terkira sifat CSS bagi elemen tersebut. Kaedah ini mengambil nama sifat CSS sebagai parameter dan mengembalikan nilai yang dikira. Berikut ialah sintaks dan contoh -
Berikut ialah sintaks untuk menguji sifat CSS menggunakan kaedah getCssValue() Protractor.
const element = element(by.css('.test-class')); expect(element.getCssValue('color')).toEqual('rgba(53, 163, 59, 0.2)');
Dalam contoh yang diberikan, kami menggunakan kelas ujian kelas untuk menguji atribut warna elemen. Nilai pengiraan yang dijangkakan untuk sifat warna ialah 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)'); }); }); });
Cara kedua untuk menguji atribut CSS sesuatu elemen ialah menggunakan kaedah getAttribute() untuk mendapatkan nilai atribut gaya elemen. Atribut gaya mengandungi gaya sebaris yang digunakan pada elemen. Berikut ialah sintaks dan contoh -
Berikut ialah sintaks untuk menguji atribut CSS menggunakan kaedah getAttribute() Protractor.
const element = element(by.css('.test-class')); expect(element.getAttribute('style')).toContain('color: green;');
Dalam contoh yang diberikan, kami sedang menguji sama ada atribut gaya elemen kelas ujian kelas mengandungi warna sifat CSS: hijau;
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); }); }); });
Kaedah ketiga yang boleh digunakan untuk menguji sifat CSS ialah kaedah browser.executeScript(), yang melaksanakan kod JavaScript dalam konteks penyemak imbas dan mendapat nilai terkira sifat CSS. Berikut ialah sintaks dan contoh -
Berikut ialah sintaks untuk menguji sifat CSS menggunakan kaedah pelayar.executeScript() 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)');
Dalam contoh yang diberikan, kami sedang melaksanakan kod JavaScript dalam konteks penyemak imbas untuk mendapatkan nilai terkira atribut warna elemen dengan kelas kelas ujian. Di sini kita menggunakan kaedah window.getCompulatedStyle() untuk mendapatkan gaya elemen yang dikira, dan kaedah getPropertyValue() untuk mendapatkan nilai sifat warna.
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 应用程序功能的所有方面,包括视觉外观。
Atas ialah kandungan terperinci Bagaimana untuk menguji sifat CSS elemen menggunakan Protractor?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!