1.首页滑动图片点击
1 /** 2 * This Method for swipe Left 3 * 大距离滑动 width/6 除数越大向左滑动距离也越大。 4 * width:720 5 *height:1280 6 * @author Young 7 * @param driver2 8 * @param during 9 */ 10 public void swipeToLeft2(AndroidDriver driver2, int during) { 11 int width = driver2.manage().window().getSize().width; 12 // System.out.println("width:"+width); 13 int height = driver2.manage().window().getSize().height; 14 //System.out.println("height:"+height); 15 //driver2.swipe(width * 3 / 4, height / 2, width / 4, height / 2, during); 16 driver2.swipe(width * 8 / 9, height / 2, width / 8, height / 2, during); 17 // wait for page loading 18 }
使用方法:
swipeToLeft2(driver,3000);
2.保存截图
/**
* This Method create for take screenshot
* 捕获截图功能
* @author Young
* @param drivername
* @param filename
* 调用snapshot((TakesScreenshot) driver, "zhihu_showClose.png");
*/
public static void snapshot(TakesScreenshot drivername, String filename) {
// this method will take screen shot ,require two parameters ,one is
// driver name, another is file name
String currentPath = System.getProperty("user.dir"); // get current work
// folder
File scrFile = drivername.getScreenshotAs(OutputType.FILE);
// Now you can do whatever you need to do with it, for example copy
// somewhere
try {
System.out.println("save snapshot path is:" + currentPath + "/"
+ filename);
FileUtils.copyFile(scrFile, new File(currentPath + "\\" + filename));
} catch (IOException e) {
System.out.println("Can't save screenshot");
e.printStackTrace();
} finally {
System.out.println("screen shot finished, it's in " + currentPath
+ " folder");
}
}
使用方法:
snapshot((TakesScreenshot) driver, "firstjt.png");
3.验证元素是否存在
//验证登录元素是否存在
public boolean isElementExsitAndroid(AndroidDriver driver,By elemnt){
boolean flag = false;
try {
WebElement element=driver.findElement(elemnt);
flag=null!=element;
} catch (NoSuchElementException e) {
System.out.println("Element:" + elemnt.toString()
+ " is not exsit!");
flag=false;
}
return flag;
}
使用方法:
isElementExsitAndroid(driver,By.id("com.zhanglb.yijiebao:id/editRemark"));
4.appium初始化:
/**
* android配置项目初始化
* */
public AndroidDriver appConfige(AndroidDriver driver){
//设置apk的路径
File classpathRoot = new File(System.getProperty("user.dir"));
File appDir = new File(classpathRoot, "apps");
File app = new File(appDir, "debuglemonoa.apk");
//设置自动化相关参数
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability(CapabilityType.BROWSER_NAME, ""); //这句不是必须的
//启动哪种设备,是真机还是模拟器?
capabilities.setCapability("deviceName", "Android Emulator"); //android模拟器
//使用哪种平台
capabilities.setCapability("platformName", "Android");
//设置安卓系统版本
capabilities.setCapability("platformVersion", "4.4.2");
//设置apk路径
capabilities.setCapability("app", app.getAbsolutePath());
//设置名称超时时间
//capabilities.setCapability("newCommandTimeout",30);
//以毫秒为单位,等待 Webview 上下文激活的时间
//capabilities.setCapability("autoWebviewTimeout",10);
//等待设备在启动应用后准备就绪的超时时间。以秒为单位。
capabilities.setCapability("androidDeviceReadyTimeout",10);
//移动浏览器名称 Chromium 谷歌浏览器
// capabilities.setBrowserName("Chromium");
//设置app的主包名和主类名 主要的参数 appActivity注意,原生app的话要在activity前加个"."。
capabilities.setCapability("appPackage", "com.zhanglb.yijiebao");
capabilities.setCapability("appActivity", "com.hzh.main.WelcomeActivity");
// capabilities.setCapability("appPackage", "com.qihoo.util");
//capabilities.setCapability("appActivity", ".StartActivity");
//初始化
//driver = new AndroidDriver<>(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
//driver=new AndroidDriver<>(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
try {
driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return driver;
}