如何處理自動化測試的天敵:畫面改動?

如何處理自動化測試的天敵:畫面改動? 畫面的修改會導致自動化測試的失敗,也讓自動化測試必須時常的跟著修改。 這篇文章主要 針對畫面不斷在修改,同時希望可以執行 End to End 自動化測試時, 做一些實務經驗上的分享與建議,最後還是一樣用 Java 舉一個程式實作。 自動化測試的建議 針對畫面時常還在修改,但是又希望可以投資自動化測試,筆者提供幾個建議 1. 自動化測試的範圍盡量不要 cover 畫面經常修改的部分。 2. 可以使用 unit…

Read More

如何減少自動化測試執行時間50%

如何減少自動化測試執行時間50% 這篇文章主要說明如何讓網站自動化測試程式跑得更快! Selenium網站自動化測試程式由於是真正的 End to End 測試, Selenium實際啟動瀏覽器,檢查瀏覽器上面的元件與網頁呈現是否異常。 另外一方面,缺點是啟動瀏覽器與檢查畫面都需要額外的啟動與畫面呈現時間。 往往一個網站的自動化測試就需要上小時才能夠整個執行完畢。 因此,這邊介紹另外一個方法可以大幅縮減測試的時間。 工具主角 為了縮短Selenium測試時間並且達到”相當”的測試效果,我們要介紹的工具主角就是 PhantomJS PhantomJS可以提供什麼? PhantomJS與Selenium整合之後,可以提供模擬瀏覽器的功能 之所以說”模擬”是因為用PhantomJS取代瀏覽器FireFox or Chrome時, Selenium自動化測試程式並不會真的啟動一個瀏覽器,而是針對網站的HTML/JavaScript的做背景執行,…

Read More

如何同時測試多種不同的瀏覽器 (Java/TestNG為例子)

如何同時測試多種不同的瀏覽器 (Java/TestNG為例子)   這篇文章主要說明當一個寫好的自動化測試程式,所指定的瀏覽器型態(IE、Chrome, FireFox..), 如何透過外部參數的方式,將自動化測試程式啟動執行。當然,自動化測試程式完全不需要修改。 這樣的情境特別適用在瀏覽器的相容性測試。 最後,我們會用Java/TestNG為例子,說明如何實作這樣的測試程式。   測試情境 這個測試我們將 1. 瀏覽Google 網站 2. 輸入 “Selenium” 搜尋 3.印出目前視窗的Title 同樣的測試個案,執行在FireFox…

Read More