chore: Deprecate legacy app management helpers by mykola-mokhnach · Pull Request #1571 · appium/java-client

Expand Up @@ -26,57 +26,41 @@ import java.nio.charset.StandardCharsets; import java.util.Base64;
public interface InteractsWithFiles extends ExecutesMethod { public interface PullsFiles extends ExecutesMethod {
/** * Pull a file from the simulator/device. * On iOS the server should have ifuse * libraries installed and configured properly for this feature to work * on real devices. * Pull a file from the remote system. * On Android the application under test should be * built with debuggable flag enabled in order to get access to its container * on the internal file system. * * @see <a href="https://github.com/libimobiledevice/ifuse">iFuse GitHub page6</a> * @see <a href="https://github.com/osxfuse/osxfuse/wiki/FAQ">osxFuse FAQ</a> * @see <a href="https://developer.android.com/studio/debug/">'Debug Your App' developer article</a> * * @param remotePath If the path starts with <em>@applicationId/</em>/ prefix, then the file * will be pulled from the root of the corresponding application container. * Otherwise the root folder is considered as / on Android and * Otherwise, the root folder is considered as / on Android and * on iOS it is a media folder root (real devices only). * @return A byte array of Base64 encoded data. */ default byte[] pullFile(String remotePath) { Response response = execute(PULL_FILE, ImmutableMap.of("path", remotePath)); String base64String = response.getValue().toString();
return Base64.getDecoder().decode(base64String.getBytes(StandardCharsets.UTF_8)); }
/** * Pull a folder content from the simulator/device. * On iOS the server should have ifuse * libraries installed and configured properly for this feature to work * on real devices. * Pull a folder content from the remote system. * On Android the application under test should be * built with debuggable flag enabled in order to get access to its container * on the internal file system. * * @see <a href="https://github.com/libimobiledevice/ifuse">iFuse GitHub page6</a> * @see <a href="https://github.com/osxfuse/osxfuse/wiki/FAQ">osxFuse FAQ</a> * @see <a href="https://developer.android.com/studio/debug/">'Debug Your App' developer article</a> * * @param remotePath If the path starts with <em>@applicationId/</em> prefix, then the folder * will be pulled from the root of the corresponding application container. * Otherwise the root folder is considered as / on Android and * Otherwise, the root folder is considered as / on Android and * on iOS it is a media folder root (real devices only). * @return A byte array of Base64 encoded zip archive data. */ default byte[] pullFolder(String remotePath) { Response response = execute(PULL_FOLDER, ImmutableMap.of("path", remotePath)); String base64String = response.getValue().toString();
return Base64.getDecoder().decode(base64String.getBytes(StandardCharsets.UTF_8)); }
Expand Down