playwright錄製腳本

我喜歡Playwright! 這是微軟開源的一款非常強大的自動化工具,再過幾年,他很有可能取代Selenium在瀏覽器自動化的通知地位。使用過一段時間,我沒有找到很好的中文資料可以參考,導致很多問題無法得到及時解決,因此我決定自己記錄一下使用的筆記,算是給社區回饋。

在編寫 web 自動化測試用例時,代碼編寫的速度是否快,會影響框架的使用體驗。現在很多的框架都會提供一些輔助功能,幫助我們更快的去編寫自動化測試代碼,而錄製功能是幾乎所有的web自動化工具都會帶的功能。
在實際操作過程中,有 2 個問題影響代碼編寫速度。第一個問題,每次操作前都需要先定位元素,需要編寫元素定位選擇器,這需要我們頻繁查看網頁的源代碼,如果元素選擇器編寫不夠規範,會引發測試用例失敗。第二個問題,每一步操作都要調用對應的api函數,如果這些函數使用不規範,也會影響編程的速度和用例通過。

錄製功能幫助我們解決這些問題。使用錄製功能時,自動打開瀏覽器,接下來我們可以手工在瀏覽器頁面上進行操作,每個操作步驟都會被錄製器記錄一下,以代碼的方式生成在錄製界面。 當瀏覽器操作完成後,可以在界面上暫停錄製,也可以複製已經生成的代碼,保存到代碼文件中。

在編寫正式的測試用例代碼前,先通過錄制功能把測試用例步驟錄製下來,自動生成元素的定位方式,自動調用瀏覽器操作,會節省很多編寫元素選擇器的時間,有部分 API 函數記不清楚用法的,錄製功能也會幫你自動生成。

通過命令行的 codegen 參數可以啓動錄製界面。

	  playwright codegen https://v4.ketangpai.com/User/login.html

彈出瀏覽器和代碼生成界面,在界面的菜單欄可以停止錄製,複製代碼。代碼可以選擇 Python, Java 或者 JavaScript 等主流語言。手工創建一個代碼文件保存複製的代碼。
image-20211011153000068
錄製好的代碼會存在一些不必要的操作,可以直接刪除這些不必要的代碼,還會有元素定位的方式不時很合理,需要進一步修正。

雖然錄製會存在一些小問題,但是他能快速生成樣板代碼,提高我們編寫自動化測試代碼的效率。之後的操作我們都可以沿用這種模式,先通過錄制生成樣板代碼,再進行小幅度修改後使用。

playwright inspector 除了可以進行錄製,還可以輔助元素定位。 當暫停錄製後,在頁面下方會出現輔助定位的控件,當輸入元素定位表達式後,對應的頁面元素將會高亮顯示。

目前還不支持生成 pytest 插件的代碼,所以主要還是複製元素定位方式和函數的用法,不能完全照搬。

image-20211011153043429

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章