@@ -29,11 +29,21 @@ public interface InteractsWithFiles extends ExecutesMethod {
29
29
30
30
/**
31
31
* Pull a file from the simulator/device.
32
+ * On iOS the server should have ifuse
33
+ * libraries installed and configured properly for this feature to work
34
+ * on real devices.
35
+ * On Android the application under test should be
36
+ * built with debuggable flag enabled in order to get access to its container
37
+ * on the internal file system.
32
38
*
33
- * @param remotePath On Android and iOS, this is either the path to the file
34
- * (relative to the root of the app's file system). On iOS only,
35
- * if path starts with /AppName.app, which will be replaced with
36
- * the application's .app directory
39
+ * @see <a href="https://github.com/libimobiledevice/ifuse">iFuse GitHub page6</a>
40
+ * @see <a href="https://github.com/osxfuse/osxfuse/wiki/FAQ">osxFuse FAQ</a>
41
+ * @see <a href="https://developer.android.com/studio/debug/">'Debug Your App' developer article</a>
42
+ *
43
+ * @param remotePath If the path starts with <em>@applicationId/</em>/ prefix, then the file
44
+ * will be pulled from the root of the corresponding application container.
45
+ * Otherwise the root folder is considered as / on Android and
46
+ * on iOS it is a media folder root (real devices only).
37
47
* @return A byte array of Base64 encoded data.
38
48
*/
39
49
default byte [] pullFile (String remotePath ) {
@@ -44,15 +54,23 @@ default byte[] pullFile(String remotePath) {
44
54
}
45
55
46
56
/**
47
- * Pull a folder from the simulator/device. Does not work on iOS Real
48
- * Devices, but works on simulators
57
+ * Pull a folder content from the simulator/device.
58
+ * On iOS the server should have ifuse
59
+ * libraries installed and configured properly for this feature to work
60
+ * on real devices.
61
+ * On Android the application under test should be
62
+ * built with debuggable flag enabled in order to get access to its container
63
+ * on the internal file system.
64
+ *
65
+ * @see <a href="https://github.com/libimobiledevice/ifuse">iFuse GitHub page6</a>
66
+ * @see <a href="https://github.com/osxfuse/osxfuse/wiki/FAQ">osxFuse FAQ</a>
67
+ * @see <a href="https://developer.android.com/studio/debug/">'Debug Your App' developer article</a>
49
68
*
50
- * @param remotePath On Android and iOS, this is either the path to the file
51
- * (relative to the root of the app's file system). On iOS only,
52
- * if path starts with /AppName.app, which will be replaced with
53
- * the application's .app directory
54
- * @return A byte array of Base64 encoded data, representing a ZIP ARCHIVE
55
- * of the contents of the requested folder.
69
+ * @param remotePath If the path starts with <em>@applicationId/</em> prefix, then the folder
70
+ * will be pulled from the root of the corresponding application container.
71
+ * Otherwise the root folder is considered as / on Android and
72
+ * on iOS it is a media folder root (real devices only).
73
+ * @return A byte array of Base64 encoded zip archive data.
56
74
*/
57
75
default byte [] pullFolder (String remotePath ) {
58
76
Response response = execute (PULL_FOLDER , ImmutableMap .of ("path" , remotePath ));
0 commit comments