Skip to content

Instantly share code, notes, and snippets.

@Vanilton18
Last active February 2, 2016 17:38
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Vanilton18/fb6768bec2d3067cdb47 to your computer and use it in GitHub Desktop.
Save Vanilton18/fb6768bec2d3067cdb47 to your computer and use it in GitHub Desktop.
TestSendFileToDeviceAppium
import static org.junit.Assert.*;
import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import org.junit.Test;
import org.openqa.selenium.remote.DesiredCapabilities;
import io.appium.java_client.MobileElement;
import io.appium.java_client.android.AndroidDriver;
import io.appium.java_client.remote.MobileCapabilityType;
import io.appium.java_client.remote.MobilePlatform;
import io.appium.java_client.service.local.AppiumDriverLocalService;
import io.appium.java_client.service.local.AppiumServiceBuilder;
import io.appium.java_client.service.local.flags.GeneralServerFlag;
public class TestSendFileToDeviceAppium {
AppiumDriverLocalService service;
DesiredCapabilities capacity;
AndroidDriver driver;
@Test
public void testUploadFileToDevice() throws IOException {
//Iniciar o servidor Appium com sobrescrita de sessão
service = AppiumDriverLocalService
.buildService(new AppiumServiceBuilder().withArgument(GeneralServerFlag.SESSION_OVERRIDE));
service.start();
//Definir as capacidades (Plataforma, App para teste, Id do dispositivo que ocorrerá o teste)
capacity = new DesiredCapabilities();
capacity.setCapability(MobileCapabilityType.PLATFORM_NAME, MobilePlatform.ANDROID);
capacity.setCapability(MobileCapabilityType.DEVICE_NAME, "Android");
capacity.setCapability(MobileCapabilityType.APP_ACTIVITY, "com.skype.raider.Main");
capacity.setCapability(MobileCapabilityType.APP_PACKAGE, "com.skype.raider");
capacity.setCapability("udid", "0431456823");
//Realizando a comunicação da biblioteca Java Client com o servidor appium
driver = new AndroidDriver(capacity);
String filePath = "src/main/resources/FileTestUpload/Star Wars Theme Song By John Williams.mp3";
String filePathInDevice = "/sdcard/appium/StartWarsTema.mp3";
assertTrue(sendFileToDevice(filePath, filePathInDevice));
}
/**
* Função responsável por enviar arquivos para o device, caso o arquivo seja enviado com sucesso é retornado true senão é retornado false.
* @param filePath - caminho do arquivo dentro do workspace do projeto
* @param filePathInDevice - caminho do arquivo dentro do device apartir do sdcard
* @return boolean
* @throws IOException
*/
public boolean sendFileToDevice(String filePath, String filePathInDevice) throws IOException {
Boolean sent = true;
try {
File file = new File(filePath);
Path path = Paths.get(file.getAbsolutePath());
byte[] b = Files.readAllBytes(path);
driver.pushFile(filePathInDevice, b);
return sent;
} catch (Exception e) {
return !sent;
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment