網頁自動測試的好朋友 – WebElement Locators

網頁自動測試的好朋友 – WebElement Locators

二十餘年前,網站慢慢開始出現在世界各地,起初就像盤古開天闢地一般,沒有複雜的東西,網站都相當簡易,大多以文字和些許的圖片構成,連頁面也沒有太多。經過好一陣子的發展,慢慢有了比較複雜的結構,那時候人寫網頁的邏輯慢慢的會受到干擾,因而有時候會出現一些錯誤。到了最近幾年,網站已經不再是 Frontpage (Sharepoint) 或 Dreamweaver 這種軟體就可以滿足的了,我們開始使用不同程式語言,自動產生出想要的 HTML 架構,這時候網站可能已經大到一個規模,需要自動化的測試,確保新的網頁和新的功能不會影響到之前完美的功能。

現在,網頁更延伸到了手機上面,整個 Firefox OS 手機所看到的都是 HTML。因此,在 Firefox OS 手機上的自動化測試當然也牽扯到了類似網頁自動測試的元素。今天,你要測試網頁上的東西,最重要的事情是甚麼?我會說是「找到網頁上的元件」。看到了一個密碼輸入欄位時,你要怎麼透過測試軟體操控這個網頁元件?答案是使用「WebElement Locators」,現在諸如 Selenium Webdriver 和 Marionette ,都會採用不同的 WebElement Locator 去找到想要的東西。我們來舉個例說明一下,以下有一個真實的的 HTML:

Welcome

Statement 2

Statement Three.

Information

Go Home!

Locators 通常有 CSS Selector、XPath、ID、Name、Link、Partial Link、Tag Name 等等…。
今天,我們看著這個網頁的原始碼並且在瀏覽器看著這個網頁,我看到按鈕顯示 Next,我該如何去找到這個東西呢?

首先,看到這個按鈕裡面的 上面有 id,我就以我所使用的程式架構,和他說:我要找一個 ID 是 “next" 的元件,程式就會把這個元件丟回來,你就可以檢查他是否符合你的測試要求,例如:這個元件上面是不是寫著 Next 或是包含這個元件的是不是一個