Appium移動端自動化測試

1.解釋什麼是Appium?

答案:一款應用於移動端的自動化測試框架,支持跨平臺應用,Native、Hybird、Mobile Web都支持。跨平臺只要一套代碼、不需要設置簽名,不污染源代碼、不需要項目源代碼就可以測試、多語言支持、可支持多種通用框架、完全開源,社區活躍

2.列出使用Appium的侷限性?

答案:Appium不支持Android版本低於4.2的測試有限的支持混合應用程序測試。 例如,不可能將應用程序從Web應用程序的切換動作測試爲本機,反之亦然,不支持在Microsoft Windows上運行Appium Inspector

3.解釋移動應用程序中如何查找DOM元素或xPath?

答案:要找到DOM元素,使用“UIAutomateviewer”來查找Android應用程序的DOM元素。

4.解釋Appium的設計理念?

答案:Appium是使用Node.js平臺編寫的“HTTP Server”,並使用Webdriver JSON線協議驅動iOS和Android會話。 因此,在初始化Appium Server之前,必須在系統上預先安裝Node.js 當Appium被下載並安裝時,在我們的機器上設置一個暴露REST API的服務器

它從客戶端接收連接和命令請求,並在移動設備(Android / iOS)上執行該命令,

它響應HTTP響應。 再次,爲了執行此請求,它使用移動測試自動化框架來驅動應用程序的用戶界面。 框架像Apple Instruments for iOS(僅適用於Xcode 3.0或更高版本的OS X v10.5及更高版本)適用於Android API的Google UIAutomator 16級或更高版本

Selendroid for Android API等級在15以下。

5.解釋App的利弊?

答案:優點:

對於程序員而言,無論平臺如何,他都在自動化(Android或iOS),所有的複雜性都將保留在單一的Appium服務器上它打開跨平臺移動測試的大門,這意味着相同的測試可以在多個平臺上工作,Appium在您的應用程序中不需要額外的組件,使其自動化友好,它可以自動化Hybrid,Web和Native移動應用程序

缺點:

使用Appium可以同時在多個iOS模擬器上運行腳本

它使用UIAutomator for Android Automation,它僅支持Android SDK平臺,API 16或更高版本,對於較低版本的API,Appium並不支持,我們需要使用另一個名爲Selendroid的開源庫。

7.提到編寫Appium測試的基本要求是什麼?

答案:驅動程序客戶端:Appium驅動移動應用程序,就像它是用戶一樣。 使用客戶端庫編寫您的Appium測試,其中包含您的測試步驟,並通過HTTP發送到Appium服務器。

應用會話:您必須首先初始化一個會話,因爲這樣的測試會在會話中進行。 一旦自動化完成一個會話,它可以結束並等待另一個會話

所需功能:要初始化Appium會話,您需要定義名爲“所需功能”的某些參數,如PlatformName,PlatformVersion,設備名稱等。 它指定了從Appium服務器需要的自動化類型。

驅動程序命令:您可以使用大型和表達式的命令詞彙編寫測試步驟。

8.提到使用Appium可能遇到的錯誤是什麼?

答案:在Appium中可能出現的錯誤包括

錯誤1:需要以下所需的功能,但不提供:設備名稱,platformName

錯誤2:找不到adb。請使用Android SDK根目錄路徑設置ANDROID_HOME環境變量

錯誤3:openqa.selenium.SessionNotCreatedException:無法創建新的會話

錯誤4:如何在移動應用程序中查找DOM元素或XPath?

9.您需要一臺服務器機器來運行Appium上的測試?

答案:不,您不需要服務器機器在Appium上運行測試。 Appium促進了一個2層架構,其中測試機連接到運行Appium的測試服務器並自動化整個事情。您可以在運行測試的同一臺機器上運行Appium。

10.當我使用Appium進行測試時,是否可以使用Javascript與我的應用進行交互?

是的,可以使用Javascript與App進行交互。當命令在Appium上運行時,服務器會將腳本發送到您的應用程序,並將其包裝成一個要執行的匿名函數。

11.提到使用Appium測試最困難的場景是什麼?

答案:使用Appium測試最困難的情況是數據交換。

12.使用Appium可以在多線程環境中運行我的測試?

是的,您可以在多線程環境中運行測試,但必須確保同一個Appium服務器同時運行不超過一個測試。

13.在Android中,您需要一個應用程序的.apk來自動化使用Appium,還需要在我的工作區中的應用程序?

答案:在Android中,您只需要.apk文件即可自動使用Appium。

14.解釋什麼是Appium包主機?如何創建包?

答案:Appium包主機是一套管理和創建應用程序包的工具。例如創建包可以使用代碼

#使用es7 / babe1

Gulp create-package -n <package-name>

15.appium的哲理是:

  用Appium自動化測試不需要重新編譯App;

支持很多語言來編寫測試腳本,Java、Javascript、PHP、Python、C#、Ruby等主流語言;

  不需要爲了自動化測試來重造輪子,因爲擴展了WebDriver。(WebDriver是測試WebApps的一種簡單、快速的自動化測試框架,所以有Web自動化測試經驗的測試人員可以直接上手);

  移動端自動化測試應該是開源的;

 如果對軟件測試、接口測試、自動化測試、性能測試、LR腳本開發、面試經驗交流。感興趣可以175317069,羣內會有不定期的發放免費的資料鏈接,這些資料都是從各個技術網站蒐集、整理出來的,如果你有好的學習資料可以私聊發我,我會註明出處之後分享給大家。

16.appium的設計理念:

Client/Server架構,運行的時候Server端會監聽Client端發過來的命令,翻譯這些命令發送給移動設備或模擬器,然後移動設備或模擬器做出響應的反應。正是因爲這種架構,所以Client可以使用Appium client libraries多種語言的測試腳本,而且Server端完全可以部署在服務器上,甚至雲服務器。

Session,每個Client連接到Server以後都會有一個Session ID,而且Client發送命令到Server端都需要這個Session ID,因爲這個seesion id代表了你所打開的瀏覽器或者是移動設備的模擬器。所以你甚至可以打開N個Session,同時測試不同的設備或模擬器。

Desired Capabilities,其實就是一個鍵值對,設置一些測試的相關信息來告訴Server端,我們需要測試iOS、還是Android,或者換是WebApp等信息。

Appium Server是Node.js寫的,所以可以直接用NPM來進行安裝。

Appium Clients,Mac OS和Win下提供GUI,不需要裝Node.js,方便測試人員操作。

17.appium相關限制:

  如果你在Windows使用Appium,你沒法使用預編譯專用於OS X的.app文件,因爲Appium依賴OS X專用的庫來支持iOS測試,所以在Windows平臺你不能測試iOS Apps。這意味着你只能通過在Mac上來運行iOS測試b.它的哲理是:

  用Appium自動化測試不需要重新編譯App;

支持很多語言來編寫測試腳本,Java、Javascript、PHP、Python、C#、Ruby等主流語言;

  不需要爲了自動化測試來重造輪子,因爲擴展了WebDriver。(WebDriver是測試WebApps的一種簡單、快速的自動化測試框架,所以有Web自動化測試經驗的測試人員可以直接上手);

  移動端自動化測試應該是開源的;

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