import io.appium.java_client.TouchAction;
import io.appium.java_client.android.AndroidDriver;
import java.io.File;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.List;
import org.apache.commons.io.FileUtils;
import org.openqa.selenium.OutputType;
import org.openqa.selenium.TakesScreenshot;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.remote.DesiredCapabilities;
public class Screenshot_learning {
public static void main(String[] args) throws InterruptedException, IOException {
// TODO Auto-generated method stub
DesiredCapabilities capabilities= new DesiredCapabilities();
//device details
capabilities.setCapability("deviceName", "xxxx");
capabilities.setCapability("platformName", "Android");
capabilities.setCapability("platformVersion", "6.0");
//app details
capabilities.setCapability("appPackage", "com.mobeta.android.demodslv");
capabilities.setCapability("appActivity", "com.mobeta.android.demodslv.Launcher");
//Appium Server details
AndroidDriver driver= new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
Thread.sleep(4000);
driver.findElementByXPath("//*[@class='android.widget.TextView'][@text='CursorAdapter']").click();
Thread.sleep(2000);
List<WebElement> ele_draghdl = driver.findElementsById("com.mobeta.android.demodslv:id/drag_handle");
System.out.println(ele_draghdl.size());
TouchAction action= new TouchAction(driver);
action.longPress(ele_draghdl.get(0)).moveTo(ele_draghdl.get(5)).release().perform();
Thread.sleep(8000);
//screenshot
TakesScreenshot screenshot= (TakesScreenshot)driver;
File screenshotAs = screenshot.getScreenshotAs(OutputType.FILE);
System.out.println(screenshotAs);
FileUtils.copyFile(screenshotAs,new File( "D:\\Testing\\new.png"));
}
}