第一個Appium測試啟動亞馬遜應用程式
最後,時間到了,我們將編寫第一個Appium Test來啟動Amazon App。這將包括以下步驟:
- 啟動Appium節點伺服器
- 建立第一個測試指令碼
- 執行第一次測試
啟動Appium節點伺服器
1)我希望您的Appium 視窗已在您的計算機上開啟。如果您已經重新啟動您的系統,那麼請開始Appium通過導航到Appium在你的系統目錄下,並開始Appium通過雙擊Appium.exe檔案。
- Android圖示用於配置設定
- 設定圖示適用於常規設定
- 播放圖示用於啟動節點伺服器
2)單擊Android
3)單擊“ 常規設定”圖示,確保填充“ 伺服器地址和埠”。
注意:請勿更改IP地址或埠號。您的Appium控制檯從 127.0.0.1:4723開始,如下所示。
4)現在是時候啟動Appium伺服器了,點選Appium視窗右上角的Launch Appium Node Server按鈕,等待幾秒鐘。Appium伺服器在您的系統上啟動並執行。
執行第一次測試
現在,您已準備好編寫第一個測試指令碼了。建立一個小型測試程式,使用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 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”),功能)初始化驅動程式物件的建構函式;