TestComplete中的跨瀏覽器測試教程(一):關于TestComplete中的跨瀏覽器測試
TestComplete是一款具有人工智能的自動UI測試工具,利用自動化測試工具和人工智能支持的混合對象識別引擎,輕松檢測和測試每個桌面,Web和移動應用程序。使用TestComplete,可以提高測試覆蓋率并幫助提供經過實戰考驗的高質量軟件。本文介紹了TestComplete中的跨瀏覽器測試第一部分內容——關于TestComplete中的跨瀏覽器測試。
跨瀏覽器測試有助于確保您的Web站點或Web應用程序在各種Web瀏覽器中都能正常運行。通常,質量檢查工程師會為每個瀏覽器創建單獨的測試,或者使用大量條件語句創建測試,這些條件語句會檢查使用的瀏覽器類型并執行特定于瀏覽器的命令。
TestComplete包含許多功能,這些功能使創建跨瀏覽器測試變得更加容易。您可以為一種受支持的Web瀏覽器記錄或創建測試,然后在其他受支持的Web瀏覽器中進行幾乎沒有任何修改的測試,步驟如下:
跨瀏覽器測試設施
1、統一的對象模型和Page對象的位置。為了簡化跨瀏覽器測試的創建,TestComplete對Web瀏覽器和頁面使用統一的對象模型。您可以使用Sys.Browser方法訪問Web瀏覽器。“瀏覽器”節點包含Page用于訪問在該瀏覽器中打開的網頁的對象。
Page節點下的對象層次結構與瀏覽器無關。因此,您可以統一使用各種瀏覽器中顯示的頁面內容。
2、支持的瀏覽器集合。通過TestComplete Browsers 對象,可以訪問計算機上所有受支持的瀏覽器的集合。您可以輕松地遍歷收集項并輕松地在不同的瀏覽器下執行相同的Web測試。
3、輕松更換經過測試的瀏覽器。在Web測試中,第一個測試命令通常是啟動Web瀏覽器或在瀏覽器中打開經過測試的網頁的命令。在這些命令中,瀏覽器只是可以輕松更改的參數。因此,您可以輕松地在其他瀏覽器上運行測試。
4、當前的瀏覽器概念。使用關鍵字測試操作或腳本方法從測試中啟動瀏覽器時,TestComplete會將由操作或方法參數指定的瀏覽器作為測試的當前瀏覽器。換句話說,所有其他通過Web應用程序模擬用戶操作的命令都將與由operation(或method)參數指定的瀏覽器一起使用。這適用于“運行”和“導航”操作以及腳本方法。
默認情況下,名稱映射功能在TestComplete項目中啟用,并且TestComplete通過Aliases.browser映射的名稱訪問Web瀏覽器:
Aliases.browser...
瀏覽器進程的默認映射設置僅使用進程類型(“瀏覽器”),而不使用實際的瀏覽器名稱。使用TestComplete關鍵字測試操作或腳本方法啟動瀏覽器或打開網頁后,該Aliases.browser項目引用當前的測試瀏覽器,即由操作的或方法的參數指定的瀏覽器。
而且,當引用當前瀏覽器中未顯示的網頁時,TestComplete可能會自動切換到包含指定頁面的瀏覽器實例,并使該瀏覽器成為當前瀏覽器。
要獲得有關腳本中當前瀏覽器的信息,您還可以使用對象的CurrentBrowser屬性Browsers。
5、統一訪問文檔對象和元素的數據。
- 不同的瀏覽器使用不同的屬性來返回頁面的文檔對象。 在TestComplete中,您可以使用Page(...)。contentDocument屬性來提供對該對象的訪問,而與使用的瀏覽器無關。
- 不同的瀏覽器使用不同的屬性來返回網頁元素的文本內容。例如,在Firefox和Chrome中使用textContent屬性,而在Internet Explorer和Edge中則必須使用innerText屬性。TestComplete提供了綜合屬性- contentText在所有受支持的瀏覽器的測試中都可用,并且可以讓您以與瀏覽器無關的方式創建測試。
6、支持JavaScript消息和瀏覽器對話框。網頁可以顯示各種消息和對話框。處理它們通常是一項艱巨的任務,因為不同的瀏覽器對其使用不同的GUI實現。TestComplete支持常用的模式對話框,例如JavaScript警報、提示和確認、標準身份驗證對話框等。這意味著您的測試以統一的方式使用這些對話框和消息框,使用不依賴于用于測試的web瀏覽器的相同API。
要求
- 僅當TestComplete項目的Web樹模型屬性設置為Tree時,跨瀏覽器功能才起作用。其他Web樹模型可以在不同的瀏覽器下分配不同的名稱,因此記錄的測試可能與瀏覽器有關。
- 啟用項目的“使用舊版Web測試功能”選項時,跨瀏覽器功能不起作用。此選項用于向后兼容,并將Web測試功能和對象模型還原為早期版本的TestComplete中應用的功能。
創建跨瀏覽器測試
跨瀏覽器Web測試的創建類似于為一個瀏覽器創建測試,但有一個例外:在生產中使用測試之前,建議您確保它們在每種經過測試的瀏覽器上都能正常運行。
運行跨瀏覽器測試
記錄Web測試時,TestComplete會“記住”所使用的瀏覽器,然后使用該瀏覽器回放測試。當您需要在另一個瀏覽器中執行測試時,無需重新記錄整個測試,只需修改獲取或啟動瀏覽器的說明即可。
要在另一個瀏覽器中運行測試,可以執行以下操作:
- 明確更改當前瀏覽器以進行測試。
- 修改測試,使其接受目標瀏覽器作為參數。這樣,您可以以編程方式定義目標瀏覽器,并從另一個“父”測試中調用修改后的測試,或將其作為測試項目啟動。
- 修改測試,以便在TestComplete支持并安裝在您的計算機上的所有瀏覽器中執行該測試。
跨瀏覽器測試的局限性
- 盡管TestComplete Web測試功能是跨瀏覽器的,但仍有一些特定情況需要您注意和特殊處理。
例如,大多數瀏覽器GUI元素(菜單、工具欄、選項卡等)上的操作均與瀏覽器有關,因此不應在跨瀏覽器測試中使用。另一個示例是某些情況下某些瀏覽器顯示的特殊對話框。
- 您必須管理手動運行測試的環境。
例如,如果您在本地計算機上運行測試,則需要確保在計算機上安裝了所有必需的Web瀏覽器的正確版本并準備進行測試。如果在遠程計算機上運行測試,則還必須手動準備這些遠程計算機和Web瀏覽器。另外,您將必須復制測試項目,運行它們并在這些計算機上手動收集測試結果,或者使用第三方QA管理工具來執行此操作。
有關如何自動化測試環境管理的信息,請參閱以下部分。
在CrossBrowserTesting Cloud中運行測試
CrossBrowserTesting是一項云服務,為運行功能正常的Web測試提供虛擬環境。在TestComplete中,您可以直接從TestComplete IDE 連接到CrossBrowserTesting服務,并在其虛擬環境中運行Web測試。如果您需要在各種Web瀏覽器中運行測試而無需實際購買其他軟件和硬件,那么這可能是一個很好的解決方案:
- 您可以在任何Web瀏覽器和TestComplete支持的任何操作系統上測試Web應用程序。另外,您可以根據需要設置測試環境的屏幕分辨率。
- 您不需要手動準備測試環境。CrossBrowserTesting環境已經為運行TestComplete測試做好了準備。
- 您不需要將測試項目分發到遠程環境并從中手動收集測試結果。在CrossBrowserTesting環境中運行測試時,您的測試項目會自動復制到環境中(并在測試運行結束后刪除)。測試結果將復制到本地計算機,并自動累積在單個項目套件中。
- CrossBrowserTesting環境中的測試可以同時運行。您可以在多個環境中并行運行多個測試,這將大大減少測試時間。
要在CrossBrowserTesting環境中運行測試,您必須擁有一個帶有正確訂閱計劃的CrossBrowserTesting帳戶。
本文內容就是這樣了,這一系列教程后面將會不斷更新哦,歡迎大家繼續關注我們網站!感興趣的朋友可以下載TestComplete試用版免費體驗~
相關內容推薦: