一、準備工作
在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-tw/n/361808.html
微信掃一掃
支付寶掃一掃