自動化測試 x Puppeteer - 玩偶QA參一咖 Day01


前言:

對軟體業QA來說,工作內容通常會包含測試產品(App, Web, … etc)在上架前後的運作情形是否正常且適當。在 Kdan Mobile,我身為QA實習生在最一開始做的事情就是使用&測試目前公司主打服務之一的 DottedSign (點點簽),接著分類 DottedSign 裡不同功能的使用情境,然後再將可以兜在一起的使用情境合併成為一條「測試路徑」。目前 DottedSign 一共有六條測試路徑,而我該做的事情就是看看這六條路是不是都是暢通的^^)。

在定義好測試路徑後,測試起來就比較有方向,除了人工測試之外,在主管的建議下,便開始走上Headless Chrome等等自動化測試相關的路途。其實針對自動化測試在網路上有不少可行的選項,像是 Selenium 和 Puppeteer等等。而在此一系列文章當中,我選擇了 Puppeteer。


規劃:

從準備環境開始,利用 Node.js Library 裡面的Puppeteer套件實作出 DottedSign 的其中一條測試路徑--自己簽署,同時和大家分享一些我遇過的 Error Messages 以及可能的解決辦法,若有不確定的地方我也會在文章最下方列出來。另外也歡迎大家先在DottedSign建立一個帳戶並且嘗試使用,裡頭有一個在此系列文章中我們會用Puppeteer實作出來的功能,也就是上面提到的"自己簽署",有了操作的概念之後,在跟著這個系列文章一起操作時也會比較有順手喔^^

預期看完這一系列分享文的人對於 Puppeteer 會有一定程度的了解,同時也能開始撰寫自動化程序,以下為這幾天我們會走過的主題:

第一天: 前言、規劃、適合對象
第二天: 準備環境、前往指定網址
第三天: 登入服務
第四天: 開始自己簽署的服務
第五天: 上傳指定檔案
第六天: DOM 陣列操作
第七天: 完成任務

註: 原則是讓每一天都包含一兩個我當時處理比較久的 Issue,說明則會有段落性的文字、圖片、以及程式碼。


適合對象:

我覺得會非常適合想要開始使用 Puppetter 做專案的人,它很方便也很好上手,像我就是新手入門 Puppeteer 並且還在繼續使用的活例子XD,基本上對於 JavaScript、Html 有一定程度認識就可以開始動作(自己對於它們的掌握度大概就只有到 Entry-Level 的等級,不過還是夠用,當然我相信對於越清楚 Html 和 JavaScript 的概念的人,會更加覺得 Puppeteer 裡面的函式用法是合理的),通常撰寫時會若有疑慮主要都是因為還不習慣 Puppeteer 函式的相關語法(要提供什麼樣形式的Parameter),這時候就參考其技術文件以及網路上的教學文章即可。我會盡量用淺顯易懂的方式讓大家明白為什麼是這樣做,另外在每一篇文章的最下方會附有當前的程式碼以及小結論,方便各位讀者做個簡易的Recap。

最後來使用標題一下
~歡迎來到玩偶QA參一咖~
讓我們一起做出會QA的Puppet吧!


相關連結:

Puppeteer 技術文件

Selenium vs. Puppeteer

DottedSign官網

(Optional事前準備:大家可以先到DottedSign官網辦一個帳號,在Day3登入服務會正式使用到)
下回預告: 我們將會建立Node.js專案,並且介紹Puppeteer簡單又實用的函式

#Puppeteer
在此系列文章中以Kdan Mobile主打服務之一的DottedSign做為Puppeteer的實作範例,從最開始的「環境建置」到稍微複雜的「切換頁面、上傳檔案」皆會走過,看完系列文章後我們就會得到一個能獨立完成任務的QA程式了呦^_^






Related Posts

用 Python 自學資料科學與機器學習入門實戰:Pandas 基礎入門

用 Python 自學資料科學與機器學習入門實戰:Pandas 基礎入門

上班不如賣雞排?軟體工程師背後的問題

上班不如賣雞排?軟體工程師背後的問題

[Golang] gorm 2.0 insert on duplicate update

[Golang] gorm 2.0 insert on duplicate update



Comments