提问人:siva 提问时间:11/14/2023 更新时间:11/14/2023 访问量:28
移动应用测试自动化
Mobile application testing Automation
问:
在移动应用程序测试中,我有一个用于下载 APK 的示例 URL。我需要使用下载的APK并在模拟器中运行它。我在 Eclipse 编辑器中使用 Java Selenium,我也在使用 Appium 服务器。您能否提供任何模型脚本以供参考?
任何模型脚本或任何执行方式。
答:
1赞
Abhishek Dhoundiyal
11/14/2023
#1
要自动执行从 URL 下载 APK 文件的过程,并使用带有 Java Selenium 的 Appium 将其安装在模拟器上,您可以按照以下步骤操作。确保您设置了必要的依赖项。
逻辑:
- 为设备设置功能。
- 将 URL 和目录传递给该方法。它将下载应用程序并返回保存的文件路径。
getDownloadFilePath
- 将返回路径传递给
caps.setCapability(MobileCapabilityType.APP, appPath);
下面是一个基本脚本,可帮助您入门:
public static void main(String[] args) throws Exception {
// Set the desired capabilities for the Android emulator
DesiredCapabilities caps = new DesiredCapabilities();
caps.setCapability(MobileCapabilityType.PLATFORM_NAME, "Android");
caps.setCapability(MobileCapabilityType.PLATFORM_VERSION, "12.0");
caps.setCapability(MobileCapabilityType.DEVICE_NAME, "XXXXXXX");
caps.setCapability(MobileCapabilityType.AUTOMATION_NAME, "uiautomator2");
//Change your url accordingly
String appPath = getDownloadFilePath("https://raw.githubusercontent.com/markushi/android-ui/master/example.apk"
, System.getProperty("user.dir")+"/");
caps.setCapability(MobileCapabilityType.APP, appPath);
// Initialize the Appium driver
AppiumDriver<MobileElement> driver = new AndroidDriver<>(new URL("http://127.0.0.1:4723"), caps);
driver.closeApp();
driver.quit();
}
/**
*
* @param fileURL
* @param saveDir
* @return
* @throws IOException
*/
public static String getDownloadFilePath(String fileURL, String saveDir) throws IOException {
URL url = new URL(fileURL);
try (InputStream in = url.openStream()) {
Path filePath = Path.of(saveDir, "sample.apk");
Files.copy(in, filePath, StandardCopyOption.REPLACE_EXISTING);
System.out.println("File downloaded to: " + filePath.toAbsolutePath());
return filePath.toAbsolutePath().toString();
}catch (IOException ex){
ex.printStackTrace();
return "";
}
}
评论