1. 程式人生 > >第一個Appium測試啟動亞馬遜應用程式

第一個Appium測試啟動亞馬遜應用程式

最後,時間到了,我們將編寫第一個Appium Test來啟動Amazon App。這將包括以下步驟:

  • 啟動Appium節點伺服器
  • 建立第一個測試指令碼
  • 執行第一次測試

 

啟動Appium節點伺服器

1)我希望您的Appium 視窗已在您的計算機上開啟。如果您已經重新啟動您的系統,那麼請開始Appium通過導航到Appium在你的系統目錄下,並開始Appium通過雙擊Appium.exe檔案。

Appium_1

  1. Android圖示用於配置設定
  2. 設定圖示適用於常規設定
  3. 播放圖示用於啟動節點伺服器

 

2)單擊Android

 圖示以開啟Appium執行的配置。在那裡,您需要選中“ 無重置 ” 複選框。這將確保Appium不會在每次執行時安裝或解除安裝App。

Appium_2

 

3)單擊“ 常規設定”圖示,確保填充“ 伺服器地址埠”

Appium_4

注意:請勿更改IP地址或埠號。您的Appium控制檯從 127.0.0.1:4723開始,如下所示。

 

4)現在是時候啟動Appium伺服器了,點選Appium視窗右上角的Launch Appium Node Server按鈕,等待幾秒鐘。Appium伺服器在您的系統上啟動並執行。
Appium_3

 

執行第一次測試

現在,您已準備好編寫第一個測試指令碼了。建立一個小型測試程式,使用Appium在您的裝置上開啟Amazon應用程式

1)將以下程式碼複製並貼上到StartApplication 類並執行它。

 

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

package amazon;

 

import io.appium.java_client

.android.AndroidDriver;

import java.io.File;

import java.net.MalformedURLException;

import java.net.URL;

import java.util.concurrent.TimeUnit;

import org.openqa.selenium.remote.CapabilityType;

import org.openqa.selenium.remote.DesiredCapabilities;

 

public class StartApplication {

 

private static AndroidDriver driver;

public static void main(String[] args) throws MalformedURLException, InterruptedException {

 

File classpathRoot = new File(System.getProperty("user.dir"));

File appDir = new File(classpathRoot, "/Apps/Amazon/");

File app = new File(appDir, "in.amazon.mShop.android.shopping.apk");

 

DesiredCapabilities capabilities = new DesiredCapabilities();

capabilities.setCapability(CapabilityType.BROWSER_NAME, "");

capabilities.setCapability("deviceName", "Micromax A311");

capabilities.setCapability("platformVersion", "4.4.2");

capabilities.setCapability("platformName", "Android");

capabilities.setCapability("app", app.getAbsolutePath());

capabilities.setCapability("appPackage", "in.amazon.mShop.android.shopping");

capabilities.setCapability("appActivity", "com.amazon.mShop.home.HomeActivity");

 

driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);

driver.manage().timeouts().implicitlyWait(80, TimeUnit.SECONDS);

Thread.sleep(10000);

driver.quit();

 

}

 

}

 

2)暫時不介紹細節,只需執行測試。要開始測試,只需選擇Run  >  Run As  > Java Application右鍵單擊 Eclipse程式碼,然後單擊 Run As   >  Java Application。

3)幾秒鐘後,您將看到在您的指令碼的幫助下,亞馬遜 應用程式將在您的裝置上啟動。執行完成後,您將在Appium控制檯上看到一長串訊息。稍後我們將回到這些訊息。

 

程式碼說明

現在讓我們討論上面測試中每行程式碼的含義。我希望你喜歡學習Appium的旅程。

 

匯入庫語句

// Llibrary for Appium drivers import io.appium.java_client.android.AndroidDriver;

//庫建立APK 匯入java.io.File 的路徑;

//用於驗證URL是否格式錯誤的庫import java.net.MalformedURLException;

//用於為Appium伺服器建立URL的庫java.net.URL;

//用於配置所需功能的庫匯入org.openqa.selenium.remote.CapabilityType; import org.openqa.selenium.remote.DesiredCapabilities;
 

 

APK檔案的路徑

由於亞馬遜應用程式apk儲存在計算機中並且尚未安裝在裝置上,我們需要建立一個檔案物件來表示磁碟上的實際apk檔案。我在Eclipse專案中放置了包含apk檔案的資料夾' / Apps / Amazon / ' 

// Eclipse專案的
路徑檔案classpathRoot = new File(System.getProperty(“user.dir”));

// <專案資料夾> /應用程式的路徑 - > Amazon 檔案appDir =新檔案(classpathRoot,“/ Apps / Amazon /”);

// <專案資料夾> /應用程式 - > Amazon / Amozon apk檔案的路徑檔案app =新檔案(appDir,“in.amazon.mShop.android.shopping.apk”);

 

期望的能力

為了能夠在實際裝置上測試應用程式,需要設定所需的功能期望的功能是傳送到Appium伺服器的一組鍵和值,用於告訴伺服器我們有興趣啟動哪種自動化會話。還有一些功能用於在自動化期間修改伺服器的行為。

//建立Desired Capabilities的物件
DesiredCapabilities capabilities = new DesiredCapabilities();

//要自動化的移動Web瀏覽器的名稱。它應該是一個空字串,因為我們是自動化應用程式capabilities.setCapability(CapabilityType.BROWSER_NAME,“”);

//作業系統名稱:Android,iOS或FirefoxOS capabilities.setCapability(“platformName”,“Android”);

//移動作業系統版本 - 我的裝置執行的是Android 4.4.2 capabilities.setCapability(CapabilityType.VERSION,“4.4.2”);

//裝置名稱: - 我正在使用Micromax A311 capabilities.setCapability(“deviceName”,“Micromax A311”);

// APK檔案capabilities.setCapability(“app”,app.getAbsolutePath())的絕對本地路徑;

//經過測試的Android應用程式功能的Java包.setCapability(“appPackage”,“in.amazon.mShop.android.shopping”);

//要從包中執行的Android活動的活動名稱。capabilities.setCapability(“appActivity”,“com.amazon.mShop.home.HomeActivity”);

//使用新的Url和Capabilities driver = new AndroidDriver(新URL(“http://127.0.0.1:4723/wd/hub”),功能)初始化驅動程式物件的建構函式;