From 70612c058de9cfbf603a3850b10bdfc3db1c3505 Mon Sep 17 00:00:00 2001 From: Eyal Yovel Date: Thu, 7 Oct 2021 16:43:32 +0100 Subject: [PATCH 1/5] Upload file to the device --- .../up_download_file/SamsungGallery.java | 93 ++++++++++++ .../UploadImageAndroidRealDevice.java | 135 ++++++++++++++++++ .../up_download_file/sauce-bot-coding.png | Bin 0 -> 63202 bytes 3 files changed, 228 insertions(+) create mode 100644 appium-examples/src/test/java/com/realdevice/up_download_file/SamsungGallery.java create mode 100644 appium-examples/src/test/java/com/realdevice/up_download_file/UploadImageAndroidRealDevice.java create mode 100644 appium-examples/src/test/java/com/realdevice/up_download_file/sauce-bot-coding.png diff --git a/appium-examples/src/test/java/com/realdevice/up_download_file/SamsungGallery.java b/appium-examples/src/test/java/com/realdevice/up_download_file/SamsungGallery.java new file mode 100644 index 00000000..e3a5aece --- /dev/null +++ b/appium-examples/src/test/java/com/realdevice/up_download_file/SamsungGallery.java @@ -0,0 +1,93 @@ +package com.realdevice.up_download_file; + +import io.appium.java_client.AppiumDriver; +import io.appium.java_client.MobileBy; +import io.appium.java_client.android.Activity; +import io.appium.java_client.android.AndroidDriver; +import org.openqa.selenium.By; +import org.openqa.selenium.WebElement; +import org.openqa.selenium.remote.RemoteWebDriver; +import org.openqa.selenium.support.ui.ExpectedConditions; +import org.openqa.selenium.support.ui.WebDriverWait; + +import java.util.List; + + +public class SamsungGallery { + + private AndroidDriver driver; + + private String photos = "com.sec.android.gallery3d:id/recycler_view_item"; + private String deleteButton ="com.sec.android.gallery3d:id/btn_delete"; + private String confirmDeleteButton = "com.sec.android.gallery3d:id/button1"; + + public SamsungGallery(AndroidDriver driver) { + this.driver = driver; + } + + public void open() { + driver.startActivity(new Activity("com.sec.android.gallery3d", "com.samsung.android.gallery.app.activity.GalleryActivity")); + + } + + public void openPhoto(String which){ + int whichPhoto = (which == "first" ? 0 : this.amountOfPhotos()-1); + + // open the photo + List photosList = driver.findElementsById(photos); + photosList.get(whichPhoto).click(); + } + + /** + * + * @param which which photo to delete: first or last + */ + public void deletePhoto(String which){ + + this.openPhoto(which); + + WebDriverWait wait = new WebDriverWait(driver, 10); + + final WebElement deleteImgBtn = wait.until(ExpectedConditions.visibilityOfElementLocated(By.id(deleteButton))); + deleteImgBtn.click(); +// driver.findElementById(deleteButton).click(); + driver.findElementById(confirmDeleteButton).click(); + +// this.confirmDeleteButton.waitForDisplayed(); +// this.confirmDeleteButton.click(); +// // Wait for it to disappear +// this.confirmDeleteButton.waitForDisplayed({reverse: true}); + + } + + public int amountOfPhotos(){ + return (driver.findElementsById(photos).size()); + } + + /** + * + * @param currentPhotos - how many photos are currently in the gallery + * @param waitingTimeSec - how long to wait for the upload + * @return true if photo was uploaded and false if there the photo was not uploaded + */ + public boolean waitUploadPhoto(int currentPhotos, int waitingTimeSec){ + int waitingTime = waitingTimeSec; + boolean bPhotoUpload = false; + for (int i = waitingTimeSec; i > 0; i--) { + if (this.amountOfPhotos() > currentPhotos){ + bPhotoUpload = true; + break; + } + try + { + Thread.sleep(1000); + } + catch(InterruptedException ex) + { + Thread.currentThread().interrupt(); + } + } + return bPhotoUpload; + } + +} diff --git a/appium-examples/src/test/java/com/realdevice/up_download_file/UploadImageAndroidRealDevice.java b/appium-examples/src/test/java/com/realdevice/up_download_file/UploadImageAndroidRealDevice.java new file mode 100644 index 00000000..cfdc803f --- /dev/null +++ b/appium-examples/src/test/java/com/realdevice/up_download_file/UploadImageAndroidRealDevice.java @@ -0,0 +1,135 @@ +package com.realdevice.up_download_file; + +import com.realdevice.image_injection.Utils; +import io.appium.java_client.MobileBy; +import io.appium.java_client.android.AndroidDriver; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Rule; +import org.junit.Test; +import org.junit.rules.TestName; +import org.junit.rules.TestWatcher; +import org.junit.runner.Description; +import org.openqa.selenium.*; +import org.openqa.selenium.support.ui.ExpectedConditions; +import org.openqa.selenium.support.ui.WebDriverWait; + +import java.io.File; +import java.io.IOException; +import java.net.URL; + +import static helpers.Constants.region; +import static org.assertj.core.api.Assertions.assertThat; + +public class UploadImageAndroidRealDevice { + + @Rule + public TestName name = new TestName(); + + protected AndroidDriver driver; + + + @Before + public void setup() throws IOException { + + System.out.println("Sauce - BeforeEach hook"); + + String username = System.getenv("SAUCE_USERNAME"); + String accesskey = System.getenv("SAUCE_ACCESS_KEY"); + + String sauceUrl; + if (region.equalsIgnoreCase("eu")) { + sauceUrl = "@ondemand.eu-central-1.saucelabs.com:443"; + } else { + sauceUrl = "@ondemand.us-west-1.saucelabs.com:443"; + } + String SAUCE_REMOTE_URL = "https://" + username + ":" + accesskey + sauceUrl +"/wd/hub"; + URL url = new URL(SAUCE_REMOTE_URL); + + MutableCapabilities capabilities = new MutableCapabilities(); + // This is a specific private device so I can control the state of it + capabilities.setCapability("deviceName", "Samsung_Galaxy_S9_POC24"); + + capabilities.setCapability("platformName", "Android"); + capabilities.setCapability("automationName", "UiAutomator2"); + capabilities.setCapability("name", name.getMethodName()); + capabilities.setCapability("browserName", "chrome"); + capabilities.setCapability("autoGrantPermissions", true); + + // Launch remote browser and set it as the current thread + driver = new AndroidDriver(url, capabilities); + } + + @Test + public void uploadPhotoToTheGallery() throws InterruptedException, IOException { + System.out.println("Sauce - start test uploadPhotoToTheGallery"); + driver.context("NATIVE_APP"); + + SamsungGallery samsungGallery = new SamsungGallery(driver); + samsungGallery.open(); + + int numOfPhotos = samsungGallery.amountOfPhotos(); + System.out.println("Sauce - number of photos before upload: " + numOfPhotos ); + + //The magic happens here + // The file we want to upload + String codingBot = "src/test/java/com/realdevice/up_download_file/sauce-bot-coding.png"; + File codingBotFile = new File(codingBot); + // Push the file to the device + // This is the `tricky` part, you need to know the file structure of the device and where you can download the file from. + // We checked this structure with the VUSB offering of Sauce Labs for private devices. + driver.pushFile("/storage/self/primary/sauce-bot-coding.png", codingBotFile); + + // wait till it is uploaded + boolean bPhotoUpload = samsungGallery.waitUploadPhoto(numOfPhotos, 5); + // Verification the photo was uploaded + Assert.assertTrue("Failed to upload a photo to the device", bPhotoUpload); + + // This is not need only for the video + waiting(2); + + // Delete the photo and verify that the amount of photos is equal to when the test started + samsungGallery.deletePhoto("last"); + // Verification + assertThat((samsungGallery.amountOfPhotos())).isEqualTo(numOfPhotos); + // This is not need only for the video + waiting(2); + } + + public static void waiting(int sec){ + try + { + Thread.sleep(sec*1000); + } + catch(InterruptedException ex) + { + Thread.currentThread().interrupt(); + } + } + + @Rule + public TestWatcher watchman= new TestWatcher() { + @Override + protected void failed(Throwable e, Description description) { + try { + System.out.println("Test Failed! "); + driver.executeScript("sauce:job-result=failed"); + } catch (Exception ignored) { + } finally { + driver.quit(); + } + } + + @Override + protected void succeeded(Description description) { + try { + System.out.println("Test Passed!"); + driver.executeScript("sauce:job-result=passed"); + } catch (Exception ignored) { + } finally { + driver.quit(); + } + } + }; + +} \ No newline at end of file diff --git a/appium-examples/src/test/java/com/realdevice/up_download_file/sauce-bot-coding.png b/appium-examples/src/test/java/com/realdevice/up_download_file/sauce-bot-coding.png new file mode 100644 index 0000000000000000000000000000000000000000..0bca13d757e6aa619ca260619c63bf3f39e1728f GIT binary patch literal 63202 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 PAxJ}23s-Q%;?MsBw0Ds< literal 0 HcmV?d00001 From db07a6f264b34316f2b66e5aeda7d336f3af0a0c Mon Sep 17 00:00:00 2001 From: Eyal Yovel Date: Fri, 8 Oct 2021 11:52:49 +0100 Subject: [PATCH 2/5] Add download file test --- appium-examples/pom.xml | 7 + .../DownloadImageFromAndroidRealDevice.java | 155 ++++++++++++++++++ ...va => UploadImageToAndroidRealDevice.java} | 6 +- 3 files changed, 165 insertions(+), 3 deletions(-) create mode 100644 appium-examples/src/test/java/com/realdevice/up_download_file/DownloadImageFromAndroidRealDevice.java rename appium-examples/src/test/java/com/realdevice/up_download_file/{UploadImageAndroidRealDevice.java => UploadImageToAndroidRealDevice.java} (95%) diff --git a/appium-examples/pom.xml b/appium-examples/pom.xml index c06c3852..e744b8e7 100644 --- a/appium-examples/pom.xml +++ b/appium-examples/pom.xml @@ -32,6 +32,13 @@ assertj-core 3.10.0 + + + commons-io + commons-io + 2.11.0 + + diff --git a/appium-examples/src/test/java/com/realdevice/up_download_file/DownloadImageFromAndroidRealDevice.java b/appium-examples/src/test/java/com/realdevice/up_download_file/DownloadImageFromAndroidRealDevice.java new file mode 100644 index 00000000..030c396c --- /dev/null +++ b/appium-examples/src/test/java/com/realdevice/up_download_file/DownloadImageFromAndroidRealDevice.java @@ -0,0 +1,155 @@ +package com.realdevice.up_download_file; + +import io.appium.java_client.android.AndroidDriver; +import org.apache.commons.io.FileUtils; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Rule; +import org.junit.Test; +import org.junit.rules.TestName; +import org.junit.rules.TestWatcher; +import org.junit.runner.Description; +import org.openqa.selenium.MutableCapabilities; +import org.springframework.util.FileSystemUtils; + +import javax.imageio.ImageIO; +import java.awt.image.BufferedImage; +import java.io.ByteArrayInputStream; +import java.io.File; +import java.io.IOException; +import java.net.URL; + +import static helpers.Constants.region; +import static org.assertj.core.api.Assertions.assertThat; + +public class DownloadImageFromAndroidRealDevice { + + @Rule + public TestName name = new TestName(); + + protected AndroidDriver driver; + + int currentPhotos = 0; + String deviceFilePath = "/storage/self/primary/sauce-bot-coding.png"; + String downloadFolder = "src/test/java/com/realdevice/up_download_file/samsung_real_device"; + + + @Before + public void setup() throws IOException { + + System.out.println("Sauce - BeforeEach hook"); + + String username = System.getenv("SAUCE_USERNAME"); + String accesskey = System.getenv("SAUCE_ACCESS_KEY"); + + String sauceUrl; + if (region.equalsIgnoreCase("eu")) { + sauceUrl = "@ondemand.eu-central-1.saucelabs.com:443"; + } else { + sauceUrl = "@ondemand.us-west-1.saucelabs.com:443"; + } + String SAUCE_REMOTE_URL = "https://" + username + ":" + accesskey + sauceUrl +"/wd/hub"; + URL url = new URL(SAUCE_REMOTE_URL); + + MutableCapabilities capabilities = new MutableCapabilities(); + // This is a specific private device so I can control the state of it + capabilities.setCapability("deviceName", "Samsung_Galaxy_S9_POC24"); + + capabilities.setCapability("platformName", "Android"); + capabilities.setCapability("automationName", "UiAutomator2"); + capabilities.setCapability("name", name.getMethodName()); + capabilities.setCapability("browserName", "chrome"); + capabilities.setCapability("autoGrantPermissions", true); + + // Launch remote browser and set it as the current thread + driver = new AndroidDriver(url, capabilities); + } + + @Test + public void downloadFileFromRealDevice() throws InterruptedException, IOException { + System.out.println("Sauce - start test downloadFileFromRealDevice"); + driver.context("NATIVE_APP"); + + + // Make sure the download dir we are going to use is empty + File downloadFolderDir = new File(downloadFolder); + FileUtils.deleteDirectory(downloadFolderDir); + // Create the directory + FileUtils.forceMkdir(downloadFolderDir); + + // Start the Gallery on the device + SamsungGallery samsungGallery = new SamsungGallery(driver); + samsungGallery.open(); + currentPhotos = samsungGallery.amountOfPhotos(); + System.out.println("Sauce - number of photos before upload: " + currentPhotos ); + + // The file we want to upload + String codingBot = "src/test/java/com/realdevice/up_download_file/sauce-bot-coding.png"; + File codingBotFile = new File(codingBot); + // Push the file to the device + // This is the `tricky` part, you need to know the file structure of the device and where you can download the file from. + // We checked this structure with the VUSB offering of Sauce Labs for private devices. + driver.pushFile(deviceFilePath, codingBotFile); + + // wait till it is uploaded + boolean bPhotoUpload = samsungGallery.waitUploadPhoto(currentPhotos, 5); + + // This is not need only for the video + waiting(2); + + // Pull the file from the device, it was uploaded in the before step + byte[] downloadedBase64Image = driver.pullFile(deviceFilePath); + + // Before continue with the downloaded file -> delete the file from the device + samsungGallery.deletePhoto("last"); + + BufferedImage image = ImageIO.read(new ByteArrayInputStream(downloadedBase64Image)); + String downloadFile = downloadFolder + "/downloaded-sauce-bot-coding.png"; + File f = new File(downloadFile); + + // write the image + ImageIO.write(image, "png", f); + + // Now verify that the file does exist locally + assertThat(f.exists()).as("The file we downloaded from the device, doesm't exist locally").isTrue(); + // This is not need only for the video + waiting(2); + } + + public static void waiting(int sec){ + try + { + Thread.sleep(sec*1000); + } + catch(InterruptedException ex) + { + Thread.currentThread().interrupt(); + } + } + + @Rule + public TestWatcher watchman= new TestWatcher() { + @Override + protected void failed(Throwable e, Description description) { + try { + System.out.println("Test Failed! "); + driver.executeScript("sauce:job-result=failed"); + } catch (Exception ignored) { + } finally { + driver.quit(); + } + } + + @Override + protected void succeeded(Description description) { + try { + System.out.println("Test Passed!"); + driver.executeScript("sauce:job-result=passed"); + } catch (Exception ignored) { + } finally { + driver.quit(); + } + } + }; + +} \ No newline at end of file diff --git a/appium-examples/src/test/java/com/realdevice/up_download_file/UploadImageAndroidRealDevice.java b/appium-examples/src/test/java/com/realdevice/up_download_file/UploadImageToAndroidRealDevice.java similarity index 95% rename from appium-examples/src/test/java/com/realdevice/up_download_file/UploadImageAndroidRealDevice.java rename to appium-examples/src/test/java/com/realdevice/up_download_file/UploadImageToAndroidRealDevice.java index cfdc803f..76e75e1e 100644 --- a/appium-examples/src/test/java/com/realdevice/up_download_file/UploadImageAndroidRealDevice.java +++ b/appium-examples/src/test/java/com/realdevice/up_download_file/UploadImageToAndroidRealDevice.java @@ -21,7 +21,7 @@ import static helpers.Constants.region; import static org.assertj.core.api.Assertions.assertThat; -public class UploadImageAndroidRealDevice { +public class UploadImageToAndroidRealDevice { @Rule public TestName name = new TestName(); @@ -61,8 +61,8 @@ public void setup() throws IOException { } @Test - public void uploadPhotoToTheGallery() throws InterruptedException, IOException { - System.out.println("Sauce - start test uploadPhotoToTheGallery"); + public void uploadFileToRealDevice() throws InterruptedException, IOException { + System.out.println("Sauce - start test uploadFileToRealDevice"); driver.context("NATIVE_APP"); SamsungGallery samsungGallery = new SamsungGallery(driver); From 59ff3c19e712106f3e98c22a0654c923ad9f8f08 Mon Sep 17 00:00:00 2001 From: Eyal Yovel Date: Fri, 8 Oct 2021 12:19:50 +0100 Subject: [PATCH 3/5] update the devices type --- .../DownloadImageFromAndroidRealDevice.java | 6 +++--- .../up_download_file/UploadImageToAndroidRealDevice.java | 5 +++-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/appium-examples/src/test/java/com/realdevice/up_download_file/DownloadImageFromAndroidRealDevice.java b/appium-examples/src/test/java/com/realdevice/up_download_file/DownloadImageFromAndroidRealDevice.java index 030c396c..7cf7d01b 100644 --- a/appium-examples/src/test/java/com/realdevice/up_download_file/DownloadImageFromAndroidRealDevice.java +++ b/appium-examples/src/test/java/com/realdevice/up_download_file/DownloadImageFromAndroidRealDevice.java @@ -52,9 +52,9 @@ public void setup() throws IOException { URL url = new URL(SAUCE_REMOTE_URL); MutableCapabilities capabilities = new MutableCapabilities(); - // This is a specific private device so I can control the state of it - capabilities.setCapability("deviceName", "Samsung_Galaxy_S9_POC24"); - + // This is a specific device type so I can control the state of it + capabilities.setCapability("deviceName", "Samsung Galaxy S9"); + capabilities.setCapability("platformVersion", "10"); capabilities.setCapability("platformName", "Android"); capabilities.setCapability("automationName", "UiAutomator2"); capabilities.setCapability("name", name.getMethodName()); diff --git a/appium-examples/src/test/java/com/realdevice/up_download_file/UploadImageToAndroidRealDevice.java b/appium-examples/src/test/java/com/realdevice/up_download_file/UploadImageToAndroidRealDevice.java index 76e75e1e..edcf0406 100644 --- a/appium-examples/src/test/java/com/realdevice/up_download_file/UploadImageToAndroidRealDevice.java +++ b/appium-examples/src/test/java/com/realdevice/up_download_file/UploadImageToAndroidRealDevice.java @@ -47,8 +47,9 @@ public void setup() throws IOException { URL url = new URL(SAUCE_REMOTE_URL); MutableCapabilities capabilities = new MutableCapabilities(); - // This is a specific private device so I can control the state of it - capabilities.setCapability("deviceName", "Samsung_Galaxy_S9_POC24"); + // This is a specific device type so I can control the state of it + capabilities.setCapability("deviceName", "Samsung Galaxy S9"); + capabilities.setCapability("platformVersion", "10"); capabilities.setCapability("platformName", "Android"); capabilities.setCapability("automationName", "UiAutomator2"); From 3cb5a639002a18b1efbc75a43e4d8c49a9fe8c5b Mon Sep 17 00:00:00 2001 From: Eyal Yovel Date: Fri, 8 Oct 2021 12:21:39 +0100 Subject: [PATCH 4/5] Update .gitignore --- .gitignore | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 26b53572..e0304e1f 100644 --- a/.gitignore +++ b/.gitignore @@ -30,4 +30,5 @@ hs_err_pid* *.settings *.classpath **/.vscode -*.project \ No newline at end of file +*.project +appium-examples/src/test/java/com/realdevice/up_download_file/samsung_real_device/downloaded-sauce-bot-coding.png From 25fbca9f81d058a4870a74572b9091cf99e9b947 Mon Sep 17 00:00:00 2001 From: Eyal Yovel Date: Fri, 8 Oct 2021 13:31:03 +0100 Subject: [PATCH 5/5] Add readme --- .../com/realdevice/up_download_file/README.md | 56 ++++++++++++++++++ .../assets/upload-real-device.gif | Bin 0 -> 95225 bytes 2 files changed, 56 insertions(+) create mode 100644 appium-examples/src/test/java/com/realdevice/up_download_file/README.md create mode 100644 appium-examples/src/test/java/com/realdevice/up_download_file/assets/upload-real-device.gif diff --git a/appium-examples/src/test/java/com/realdevice/up_download_file/README.md b/appium-examples/src/test/java/com/realdevice/up_download_file/README.md new file mode 100644 index 00000000..56bfa30f --- /dev/null +++ b/appium-examples/src/test/java/com/realdevice/up_download_file/README.md @@ -0,0 +1,56 @@ +# Using Uploading and Downloading Files from Sauce Labs Android Real Devices +This folder contains examples for using up / download files from: + +- [Android real devices on Sauce Labs Platform](#run-tests-on-sauce-labs-android-real-devices) + +> **NOTE:**\ +> Up/downloading files to iOS real devices is not supported by Appium!\ +> Up/downloading files to Sauce Labs iOS Simulators is currently not supported by Sauce Labs + +> **NOTE:**\ +> Make sure you are in the folder `appium-examples` when you execute the commands to run the tests + +## Important information +### Up/downloading files to and or from Android real devices +The market of Android is being controlled by a lot of different vendors, this also means a lot of different file structures +where to upload your file to or download the file from. This makes it a challenge to determine which folder on the device you +need to have. +You can check the location if you are using the Virtual USB offering of Sauce Labs for Private devices, +see also [this video](https://youtu.be/hUaVj6WmqRA). + +The advice is that you use a dedicated device, so you always know the file structure and don't need to over complicate +the up/downloading script. + +### Apps to verify up/downloads +For Android real devices we use the Samsung Gallery. The purpose +is not to show you how to automate these apps, but more to show you how you can verify if an upload was successful. + +### Environment variables for Sauce Labs +The examples in this repository that can run on Sauce Labs use environment variables, make sure you've added the following + + # For Sauce Labs Real devices in the New UI + export SAUCE_USERNAME=******** + export SAUCE_ACCESS_KEY=******* + +## Uploading files +### Android Real devices +The script on how to use this can be found [here](./UploadImageToAndroidRealDevice.java) and the execution +will look like this + +![Upload Android real device](assets/upload-real-device.gif) + +## Run tests on Sauce Labs Android real devices +If you want to run the tests on Sauce Labs real Android devices then you can run the Android test with + + // If using the US DC + mvn clean test -Dtest=DownloadImageFromAndroidRealDevice -Dregion=us + mvn clean test -Dtest=UploadImageToAndroidRealDevice -Dregion=us + + // If using the EU DC + mvn clean test -Dtest=DownloadImageFromAndroidRealDevice -Dregion=eu + mvn clean test -Dtest=UploadImageToAndroidRealDevice -Dregion=eu +The tests will be executed on a Samsung Galaxy S9. + +## Credits +This example is based on [this webdriverio example](https://github.com/saucelabs-training/demo-js/tree/main/webdriverio/appium-app/examples/up-download-file) +from Wim Selles. diff --git a/appium-examples/src/test/java/com/realdevice/up_download_file/assets/upload-real-device.gif b/appium-examples/src/test/java/com/realdevice/up_download_file/assets/upload-real-device.gif new file mode 100644 index 0000000000000000000000000000000000000000..5b30a2d9ddfd22e87eaafed70d743b432f7dfcf7 GIT binary patch literal 95225 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ξ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 zb_700000 literal 0 HcmV?d00001