下面是一个使用Appium和UiAutomator2自动化已打开应用程序的示例代码:
import io.appium.java_client.android.AndroidDriver;
import io.appium.java_client.android.AndroidElement;
import io.appium.java_client.remote.AndroidMobileCapabilityType;
import io.appium.java_client.remote.MobileCapabilityType;
import org.openqa.selenium.remote.DesiredCapabilities;
import java.net.URL;
public class AppiumUiAutomator2Example {
public static void main(String[] args) throws Exception {
// 设置DesiredCapabilities
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability(MobileCapabilityType.PLATFORM_NAME, "Android");
capabilities.setCapability(MobileCapabilityType.DEVICE_NAME, "emulator-5554");
capabilities.setCapability(AndroidMobileCapabilityType.APP_PACKAGE, "com.example.app");
capabilities.setCapability(AndroidMobileCapabilityType.APP_ACTIVITY, ".MainActivity");
capabilities.setCapability(MobileCapabilityType.AUTOMATION_NAME, "UiAutomator2");
// 创建AndroidDriver实例
AndroidDriver driver = new AndroidDriver<>(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
// 在已打开的应用程序中执行操作
// 示例:点击某个按钮
AndroidElement button = driver.findElementByXPath("//android.widget.Button[@text='Click Me']");
button.click();
// 关闭driver实例
driver.quit();
}
}
在这个示例中,我们首先设置了DesiredCapabilities,指定了要使用的设备(Android模拟器),应用程序的包名和启动活动,并将自动化名称设置为UiAutomator2。
然后,我们创建了一个AndroidDriver实例,连接到Appium服务器。在已打开的应用程序中执行操作时,我们使用findElementByXPath方法找到要操作的元素,然后调用相应的操作方法(例如click方法)。
最后,我们调用driver.quit()关闭driver实例。
请注意,这只是一个简单的示例,实际上可能需要根据应用程序的具体情况进行更多的操作和验证。