針對WebView測試的五種Python框架
譯文【51CTO.com快譯】引言:本文將和您討論針對混合應(yīng)用(如WebView)測試的五種Python框架,及其各自的特點。
顯而易見,Python已成為了如今使用最為廣泛的編程語言之一。它備受歡迎的背后原因不僅在于方便易用,還能夠允許用戶創(chuàng)建出獨立于平臺的應(yīng)用程序。
Python是一種高級的編程語言,它與生俱來就帶有一些特別的功能。例如,它能夠很好地支持面向?qū)ο笫骄幊蹋∣bject Oriented Programming,OOP)。另外,Python的語法與C或C++是非常不同的,它更為簡單、易學(xué)且方便理解。
如今,Python語言主要被用于服務(wù)器端的Web開發(fā)、軟件服務(wù)開發(fā)、移動應(yīng)用開發(fā)、以及許多其他場景的使用之中。不過在我看來,它最適合于被用來創(chuàng)建各種混合應(yīng)用程序(hybrid applications)。
什么是混合應(yīng)用?
混合應(yīng)用程序是原生移動應(yīng)用和Web應(yīng)用程序的一種組合。此類新的應(yīng)用程序可以像任何其他移動應(yīng)用那樣,在移動應(yīng)用商店中被下載并獲取?;旌蠎?yīng)用程序的最大特點是:它包含有內(nèi)置的Web瀏覽器,因此您可以直接從移動應(yīng)用本身查看到Web網(wǎng)頁的內(nèi)容。我們通常稱之為--WebView(具體相關(guān)內(nèi)容請詳見:https://dzone.com/articles/what-is-a-webview-and-how-to-test-it)。
開發(fā)人員通常會使用Python框架,來創(chuàng)建各種經(jīng)過最優(yōu)化的混合應(yīng)用程序。他們之所以會用到Python框架來進行各種開發(fā),是因為其本身具有許多方面的優(yōu)勢。例如:Python框架能夠為您提供大量的附加功能,以幫助您實現(xiàn)高效的編碼工作。如此一來,您便可以更加專注在程序的邏輯上,而不是諸如代碼間的通信連接等其他方面。
此外,Python框架能夠提供的另一個重要功能是:WebView測試??梢哉f,WebView測試對于某個網(wǎng)站,特別是該網(wǎng)站在不同瀏覽器上的兼容性和顯示效果來說都是至關(guān)重要的。
當(dāng)然,如果要執(zhí)行WebView測試,您離不開Python框架的支持。下面,讓我們來一起討論針對WebView測試的五種Python最佳框架:
Selenium
Selenium是最受歡迎、且最被廣泛使用的Web應(yīng)用類自動化測試工具。而被熱捧的背后原因在于它往往被認為是Web應(yīng)用測試的行業(yè)標(biāo)準(zhǔn)。根據(jù)調(diào)查顯示,全球百分之九十的Web應(yīng)用測試人員都在使用Selenium。
Selenium是一個開源的框架,能夠支持許多種不同的語言,其中包括:Python、Java、C#、PHP、Ruby等。該框架能提供的另一個功能是:您可以通過它來應(yīng)用針對多個平臺(如Mac、Windows和Linux)的測試用例,進而對目標(biāo)應(yīng)用進行跨平臺的測試。與此同時,我們還可以在Android、iOS或Blackberry等多種設(shè)備上實施Selenium的相關(guān)測試。
Selenium具有友好的用戶界面。不過,為了更好地使用該框架,您可能需要具備一些高級的編程技能。另外,您還需要開發(fā)相應(yīng)的軟件庫和自動化類型的框架,來進行深度測試。這可能算是Selenium框架在使用方面最大的瑕疵吧。
Appium Python
Appium是一種針對移動應(yīng)用的自動化測試工具。它同樣具有開源的框架,能夠幫助您對各種原生的應(yīng)用、混合應(yīng)用、以及一些簡單的移動應(yīng)用進行測試。
Appium可以讓您對不同的移動平臺(如:iOS和Android)進行自動化測試。而在測試的過程中,您完全可以使用相同的API,這樣不但節(jié)省了大量的代碼修改時間,也節(jié)約了用戶為了測試不同平臺所投入的成本。
Appium服務(wù)器是由Node.js編寫出來的,同時它也用到了Selenium WebDriver。它允許您在Android平臺上重用iOS的代碼,反之亦然。而就測試本身而言,您既可以在真實的設(shè)備上進行、也可以放到各種模擬器上“跑”。
Katalon Studio
Katalon Studio是第三種流行的自動化測試工具,它同樣可以協(xié)助測試人員對Web服務(wù)、移動應(yīng)用程序和各種API進行測試。它能夠支持的系統(tǒng)平臺包括:Windows、Linux、Mac和Unix等。
由于使用了Selenium和Appium引擎,Katalon Studio能夠方便測試人員更容易地集成和部署不同的框架與軟件庫。通過記錄并維護各種測試腳本與用例,Katalon Studio能夠讓某些測試腳本直接運行在不同的應(yīng)用程序之中。另外,該框架還能支持SOAP和RESTful API,它包含著大量的內(nèi)置測試用例,以方便測試人員開展各項日常工作。
Katalon Studio的另一個亮點是:無論您是測試界的專業(yè)人士,還是剛?cè)腴T的“小白”,您都可以快速地上手并使用該框架。
TestComplete
TestComplete框架為全世界測試人員所熟知的原因在于:它的功能十分齊備,可以對移動應(yīng)用、Web服務(wù)、以及桌面程序等進行各種自動化的測試。TestComplete框架可以支持包括Python、JavaScript和C++在內(nèi)的各種編程語言。
通過使用其對象識別引擎(object recognition engine),該框架具有識別動態(tài)用戶接口的能力。這對于測試那些諸如動態(tài)UI之類持續(xù)變化的應(yīng)用是十分有用的。
和前面提到的Katalon Studio類似,TestComplete也具有測試記錄和回放的功能,可以幫助您維護過往實施過的測試用例。
Tricentis Tosca
Tricentis Tosca框架可以通過自己的工具集,幫助用戶開展全面的測試工作。它能夠支持的測試環(huán)節(jié)包括:測試用例的設(shè)計,測試自動化,甚至是測試分析與報告等。
該框架具有非常友好的用戶界面和十分豐富的功能,您可以流暢地進行開發(fā)、實施、執(zhí)行和維護等測試步驟。它能夠兼容多種協(xié)議,如:HTTP、HTTPS、RabbitMQ、TIBCO、REST、SOAP和IBM MQ等。同樣,我們可以在移動設(shè)備、瀏覽器以及臺式機等不同設(shè)備上用它來執(zhí)行不同類型的測試。
總結(jié)
如今,市面上有許多款Python框架可以被用來針對混合應(yīng)用程序(特別是WebView)進行自動化的測試。上面我們所提到的五種框架各有優(yōu)缺點。具體該如何去選擇適當(dāng)?shù)目蚣?,則取決于您所面對的應(yīng)用特征,以及您在真實場景下所需要用到的具體功能。
原文標(biāo)題:5 Best Python Frameworks for WebView Testing,作者: Saif Sadiq
【51CTO譯稿,合作站點轉(zhuǎn)載請注明原文譯者和出處為51CTO.com】