一、準備工作
在Java+Appium自動化下生成測試前需要做一些準備工作。
1. 安裝Appium
Appium是一種基於客戶端/服務器架構的自動化測試工具,它支持移動設備(Android和iOS)和桌面應用程序。在Java+Appium自動化下生成測試之前,您需要先在電腦上安裝Appium。
public class AppiumSetup { private AppiumDriver driver; public AppiumDriver setup() throws MalformedURLException { DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setCapability("deviceName", "Android Emulator"); capabilities.setCapability("platformName", "Android"); capabilities.setCapability("appPackage", "com.android.settings"); capabilities.setCapability("appActivity", ".Settings"); URL url = new URL("http://127.0.0.1:4723/wd/hub"); driver = new AndroidDriver(url, capabilities); return driver; } }
2. 安裝Java SDK
Java SDK必須安裝在電腦上才能運行Appium,您可以從Oracle官網下載Java SDK並安裝它。
3. 開始使用Appium
在設置好Appium和Java SDK之後,您可以編寫Java代碼,並將其運行在Appium中。
二、編寫測試腳本
在Java+Appium自動化下生成測試前,您需要編寫測試腳本來完成測試任務。以下是一個簡單的測試腳本實例。
1. 啟動APP並輸入用戶名和密碼
public class LoginTest { private AppiumDriver driver; @Before public void setup() throws MalformedURLException { DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setCapability("deviceName", "Android Emulator"); capabilities.setCapability("platformName", "Android"); capabilities.setCapability("appPackage", "com.example.app"); capabilities.setCapability("appActivity", "com.example.app.activities.LoginActivity"); URL url = new URL("http://127.0.0.1:4723/wd/hub"); driver = new AndroidDriver(url, capabilities); } @Test public void testLogin() { WebElement userName = driver.findElement(By.id("userName")); userName.sendKeys("user1"); WebElement password = driver.findElement(By.id("password")); password.sendKeys("password1"); driver.findElement(By.id("loginButton")).click(); } @After public void teardown() { driver.quit(); } }
2. 測試頁面中的元素和操作
public class ElementTest { private AppiumDriver driver; @Before public void setup() throws MalformedURLException { DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setCapability("deviceName", "Android Emulator"); capabilities.setCapability("platformName", "Android"); capabilities.setCapability("appPackage", "com.example.app"); capabilities.setCapability("appActivity", "com.example.app.activities.MainActivty"); URL url = new URL("http://127.0.0.1:4723/wd/hub"); driver = new AndroidDriver(url, capabilities); } @Test public void testElement() { WebElement userName = driver.findElement(By.id("userName")); userName.clear(); userName.sendKeys("user1"); WebElement password = driver.findElement(By.id("password")); password.sendKeys("password1"); driver.findElement(By.id("loginButton")).click(); WebElement menuButton = driver.findElement(By.id("menuButton")); menuButton.click(); WebElement settingButton = driver.findElement(By.id("settingButton")); settingButton.click(); WebElement logoutButton = driver.findElement(By.id("logoutButton")); logoutButton.click(); } @After public void teardown() { driver.quit(); } }
三、測試執行和報告生成
在Java+Appium自動化下生成測試後,您需要執行測試並生成報告。以下是一個測試執行示例。
public class TestRunner { public static void main(String[] args) { TestRunner runner = new TestRunner(); runner.run(); } private void run() { Result result = JUnitCore.runClasses(LoginTest.class, ElementTest.class); for (Failure failure : result.getFailures()) { System.out.println(failure.toString()); } System.out.println(result.wasSuccessful()); } }
此外,您可以使用JUnit生成測試報告,這樣您就可以更輕鬆地查看測試結果。
public class TestRunner { public static void main(String[] args) { Result result = JUnitCore.runClasses(LoginTest.class, ElementTest.class); for (Failure failure : result.getFailures()) { System.out.println(failure.toString()); } System.out.println(result.wasSuccessful()); JUnitReport report = new JUnitReport(result); report.toFile("report.xml"); report.toHtml("report.html"); } }
四、小結
Java+Appium自動化下生成測試是高效且可靠的測試方式。在編寫測試腳本之前,您需要準備好Appium和Java SDK。然後,您可以編寫Java代碼並將其運行在Appium中。最後,您需要執行測試並生成測試報告。
原創文章,作者:YLSQX,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/361808.html