自動化測試機出現莫名網路狀況時,可以採取..

自動化測試機出現莫名網路狀況時,可以採取..

如果長時間使用測試機器進行自動化測試,

連續執行超過 5天,或是超過30+次以上的重複性執行,

往往會遇到一些莫名的網路狀況,導致測試程式失敗。

因此這些測試機器就必須要定期的”整理”,

將狀態復原才能繼續測試,筆者這裡提供兩個方式解決這個問題。

測試機器環境

首先筆者先定義測試機器環境

這邊指的測試機器環境是指每一天都會被重複執行的測試環境與被測試目標軟體

測試環境通常我們會安裝相關的測試工具、測試程式、網路設定等,定期的每天重複不斷的執行。

被測試目標軟體,通常是每天會根據 Build 狀況重新被安裝。

1. 使用 Docker

在還沒有 Docker時,我們使用大量的 Virtual Machine,

當然這些 Virtual Machine 多半屬於開機的狀態等待,

因為如果是 on-demand 才開機使用,測試程式需要等待的時間會過久,也容易產生額外 timeout的問題

但是因為 Docker 出現之後,讓我們可以在測試程式需要執行時才”即時”啟動。

還不是要等待Docker 啟動? 有什麼不同呢?

不同的是VM 啟動是整個作業系統的啟動,而Docker的啟動實質上是應用程式的啟動。

因此 Docker Image的啟動時間極為快速。

2. 定期重新開機

如果測試環境大部分還是使用 Virtual Machine 呢?

筆者建議就必須要設定定期開機的機制,讓測試程式可以執行的更順利,

可以避免機器資源或是網路莫名的問題。這邊筆者舉 Windows 為例子說明

 

3個步驟設定 Windows 重新開機?

1. 設定使用者自動登入。可以參考這篇文章 Follow Microsoft’s Technical Help

利用 netplwiz的程式設定,將 “users must enter…”的選項取消。

2. 設定Scheduled Task 或是 StartUp將自動化測試程式在開機後自動啟動

StartUP

 

Scheduled Tasks

3. 如何重新開機?

shutdown -r -t 1 -f
這個指令為 Windows 內建。


參考資料 https://github.com/groupon/Selenium-Grid-Extras

Leave a Reply

Your email address will not be published. Required fields are marked *