一、准备工作
在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/n/361808.html
微信扫一扫
支付宝扫一扫