目錄
使用 Protractor 測試元素的 CSS 屬性所需的步驟
第 1 步:設定量角器
第 2 步:建立 Conf.js 檔案
第 3 步:建立測試規格
第 4 步:建立包含測試元素的 HTML 檔案
第 5 步:執行測試
使用 Protractor 測試 CSS 屬性的不同方法
方法一:使用GetCssValue()方法
文法
範例
方法二:使用GetAttribute()方法
方法3:使用Browser.executeScript()方法
结论
首頁 web前端 css教學 如何使用 Protractor 測試元素的 CSS 屬性?

如何使用 Protractor 測試元素的 CSS 屬性?

Aug 27, 2023 am 10:37 AM

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

測試 CSS 屬性對於確保 Web 應用程式的品質至關重要。 CSS 屬性決定元素在網頁上的顯示方式,例如字體大小、顏色和版面。測試 CSS 屬性可以幫助檢測錯誤並確保應用程式的外觀和功能符合預期。一種稱為量角器的工具為開發人員提供了不同的方法來測試 CSS 屬性。

Protractor 是一種流行的端對端測試框架,它使用 WebDriver 自動執行 Web 應用程式和瀏覽器之間的互動。它廣泛用於測試 Angular 應用程序,但也可用於測試其他 Web 應用程式。

在本文中,我們將學習如何使用量角器測試元素的 CSS 屬性。我們將學習不同的方法來執行測試操作。

使用 Protractor 測試元素的 CSS 屬性所需的步驟

使用量角器測試元素的 CSS 屬性需要執行下列步驟。

第 1 步:設定量角器

要使用量角器,請確保它已安裝在您的系統中以及所需的依賴項。

  • 安裝量角器 -

#
npm install -g protractor
登入後複製
  • 更新二進位檔案 -

webdriver-manager update
登入後複製
  • 運行伺服器 -

#
webdriver-manager start
登入後複製

第 2 步:建立 Conf.js 檔案

Protractor 專案中的conf.js 檔案是包含Protractor 測試套件的各種設定和選項的設定檔。讓我們建立一個名為 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://';
   }
};
登入後複製

第 3 步:建立測試規格

設定 Protractor 後,建立一個新的測試規範文件,名稱任意,例如 test.js 等。我們可以在 Protractor 專案的 specs 目錄中建立一個新檔案。

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)');
   });
});
登入後複製

在上面的程式碼中,我們使用類別 test-class 來測試元素的顏色屬性。我們預期顏色屬性的計算值為 rgba(53, 163, 59, 0.2)。

第 4 步:建立包含測試元素的 HTML 檔案

<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>
登入後複製

第 5 步:執行測試

要執行測試,請在終端機中使用以下命令 -

protractor conf.js --suite css-property
登入後複製

在上面的命令中,conf.js 是 Protractor 專案的設定文件, --suite css-property 指定僅應執行 css-property 套件中的測試。

執行測試後,您可以在終端機中查看測試結果。如果測試通過,您將看到類似這樣的訊息 -

測試元素的 CSS 屬性

✓ 應具有正確的顏色

1 規格,0 次失敗

使用 Protractor 測試 CSS 屬性的不同方法

方法一:使用GetCssValue()方法

量角器提供的第一個方法是 getCssValue() 方法,用於取得元素的 CSS 屬性的計算值。此方法將 CSS 屬性的名稱作為參數並傳回其計算值。以下是語法和範例 -

文法

以下是使用量角器的 getCssValue() 方法來測試 CSS 屬性的語法。

const element = element(by.css('.test-class'));
expect(element.getCssValue('color')).toEqual('rgba(53, 163, 59, 0.2)');
登入後複製

範例

在給定的範例中,我們使用類別測試類別來測試元素的顏色屬性。顏色屬性的預期計算值為 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)');
      });
   });
});
登入後複製

方法二:使用GetAttribute()方法

測試元素 CSS 屬性的第二個方法是使用 getAttribute() 方法來取得元素的 style 屬性值。 style 屬性包含套用於元素的內嵌樣式。以下是語法和範例 -

文法

以下是使用量角器的 getAttribute() 方法來測試 CSS 屬性的語法。

const element = element(by.css('.test-class'));
expect(element.getAttribute('style')).toContain('color: green;');
登入後複製

範例

在給定的範例中,我們正在測試類別 test-class 的元素的 style 屬性是否包含 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);
      });
   });
});
登入後複製

方法3:使用Browser.executeScript()方法

可用於測試 CSS 屬性的第三種方法是 browser.executeScript() 方法,該方法在瀏覽器上下文中執行 JavaScript 程式碼並取得 CSS 屬性的計算值。以下是語法和範例 -

文法

以下是使用量角器的 browser.executeScript() 方法來測試 CSS 屬性的語法。

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)');
登入後複製

範例

在給定的範例中,我們在瀏覽器上下文中執行 JavaScript 程式碼,以取得具有測試類別的元素的顏色屬性的計算值。這裡我們使用 window.getCompulatedStyle() 方法來取得元素的計算樣式,並使用 getPropertyValue() 方法來取得 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)');
      });
   });
});
登入後複製

结论

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

以上是如何使用 Protractor 測試元素的 CSS 屬性?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1665
14
CakePHP 教程
1424
52
Laravel 教程
1322
25
PHP教程
1270
29
C# 教程
1250
24
使Sass更快的概念證明 使Sass更快的概念證明 Apr 16, 2025 am 10:38 AM

在一個新項目開始時,Sass彙編發生在眼睛的眨眼中。感覺很棒,尤其是當它與browsersync配對時,它重新加載

靜態表單提供商的比較 靜態表單提供商的比較 Apr 16, 2025 am 11:20 AM

讓我們嘗試在這裡造成一個術語:“靜態表單提供商”。你帶上html

每周平台新聞:HTML加載屬性,主要的ARIA規格以及從iframe轉移到Shadow dom 每周平台新聞:HTML加載屬性,主要的ARIA規格以及從iframe轉移到Shadow dom Apr 17, 2025 am 10:55 AM

在本週的平台新聞綜述中,Chrome引入了一個用於加載的新屬性,Web開發人員的可訪問性規範以及BBC Move

與部分元素的交易 與部分元素的交易 Apr 12, 2025 am 11:39 AM

同一天發表了兩篇文章:

帶有HTML對話框元素的一些動手 帶有HTML對話框元素的一些動手 Apr 16, 2025 am 11:33 AM

這是我第一次查看HTML元素。我已經意識到了一段時間,但是尚未將其旋轉。它很酷,

我們如何標記Google字體並創建Goofonts.com 我們如何標記Google字體並創建Goofonts.com Apr 12, 2025 pm 12:02 PM

Goofonts是由開發人員和設計師丈夫簽名的附帶項目,它們都是版式的忠實擁護者。我們一直在標記Google

多腳步滑塊:一般案例 多腳步滑塊:一般案例 Apr 12, 2025 am 10:52 AM

這個兩部分系列的第一部分詳細介紹了我們如何獲得兩次跑步的滑塊。現在,我們&#039;

'訂閱播客”鏈接應在哪裡? '訂閱播客”鏈接應在哪裡? Apr 16, 2025 pm 12:04 PM

有一段時間,iTunes是播客中的大狗,因此,如果您將“訂閱播客”鏈接到喜歡:

See all articles