1.首页滑动图片点击

    /**
* This Method for swipe Left
* 大距离滑动 width/6 除数越大向左滑动距离也越大。
* width:720
*height:1280
* @author Young
* @param driver2
* @param during
*/
public void swipeToLeft2(AndroidDriver driver2, int during) {
int width = driver2.manage().window().getSize().width;
// System.out.println("width:"+width);
int height = driver2.manage().window().getSize().height;
//System.out.println("height:"+height);
//driver2.swipe(width * 3 / 4, height / 2, width / 4, height / 2, during);
driver2.swipe(width * 8 / 9, height / 2, width / 8, height / 2, during);
// wait for page loading
}

使用方法:

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;
}

appium 学习各种小功能总结--功能有《滑动图片、保存截图、验证元素是否存在、》---新手总结(大牛勿喷,新手互相交流)的更多相关文章

  1. appium获取app应用的package和 activity。---新手总结(大牛勿喷,新手互相交流)

    从网上搜索的方法: 如下: 1.查看源码 2.日志法a.启动待测apkb.开启日志输出:adb logcat>D:/log.txtc.关闭日志输出:ctrl+cd.查看日志直接搜索 :Displ ...

  2. python --appium搭建环境过程 ---新手总结(大牛勿喷,新手互相交流)

    首先安装python 安装包:https://yunpan.cn/cSdYZqjJ4xDZ3  访问密码 4bf9 1.安装pip   cd 到pip安装包  python setup.py inst ...

  3. 微信小程序中实现左右滑动图片翻页

    页面代码 <swiper class="container" indicator-dots="{{indicatordots}}" autoplay=&q ...

  4. 微信小程序点击按钮将图片保存到手机

    SaveCard: function(e) { let that = this; console.log('保存'); var imgSrc = e.currentTarget.dataset.img ...

  5. 微信小程序的功能开发工具跟公众号的差别,小程序是一种减负思维对简单APP是巨大打击

    微信小程序的功能开发工具跟公众号的差别,小程序是一种减负思维对简单APP是巨大打击 摘要: 小程序和公众号最大的区别有如下四点:1.小程序没有粉丝,开发者在后台能看到的只能是累计用户访问数以及实时统计 ...

  6. 1.3 操作系统的第三个功能——存储管理功能 -《zobolの操作系统学习札记》

    1.3 操作系统的第三个功能--存储管理功能 作者zobol:关于操作系统概论-存储管理功能,我给出下列问题: 目录 1.3 操作系统的第三个功能--存储管理功能 问1:操作系统的文件管理系统主要是负 ...

  7. 1.2 操作系统的第二个功能——并发功能 -《zobolの操作系统学习札记》

    1.2 操作系统的第二个功能--并发功能 目录 1.2 操作系统的第二个功能--并发功能 问1:什么是并发功能?并发功能是必要的吗? 问2:并发功能必须要求拥有多核CPU吗? 问3:多核CPU和单核C ...

  8. 生鲜配送管理系统_升鲜宝V2.0 小标签打印功能【代配送商品打印小标签功能】说明_15382353715

    小标签打印说明 小标签打印可以打印本系统的订单商品数量,也可以把外部的订单商品导入本系统进行打印. 打印本系统中的订单商品操作说明[上篇文章已经讲解相关的操作说明] 打印本系统之外的订单商品明细清单 ...

  9. 生鲜配送管理系统_升鲜宝V2.0 小标签打印功能说明_15382353715

    小标签打印说明 小标签打印可以打印本系统的订单商品数量,也可以把外部的订单商品导入本系统进行打印. 打印本系统中的订单商品操作说明 1.1    界面说明 1.2     查询条件 1.2.1     ...

随机推荐

  1. 转载:做Java开发这一年 (火龙果软件)

    转载:http://www.uml.org.cn/success/201410205.asp 从去年到现在,从.NET转向Java开发(只是因为项目原因,绝对与平台好坏没有关系)差不多有一年的时间了. ...

  2. XML编程与应用-读取XML

    实例:使用XmlTextReader类的对象读取XML文档 代码如下 using System; using System.Collections.Generic; using System.Linq ...

  3. 脚本化css

    html文档的视觉显示包含很多变量:字体.颜色.间距等.css标准列举了这些变量.我们称之为样式属性.css定义了这些属性以指定字体.颜色.外边距.边框.背景.图片.文本对齐方式.元素尺寸和元素位置. ...

  4. 【android】两个按钮的宽度各占屏幕的一半

    <LinearLayout> <Button android:layout_height="wrap_content" android:layout_width= ...

  5. C++ template学习二 类模板定义及实例化

    一个类模板(也称为类属类或类生成类)允许用户为类定义一种模式,使得类中的某些数据成员.默写成员函数的参数.某些成员函数的返回值,能够取任意类型(包括系统预定义的和用户自定义的). 如果一个类中数据成员 ...

  6. BHO启动IE调试

    如下图选择Web Browser Debugger, 输入启动网址

  7. 不包含任何UserControl

    奇怪了,以前做控件的时候都没有这个问题,哎,又堕落了1年,什么都忘了 创建自定义控件 可以继承现有控件,也可以继承userContrl类,但是现在有个问题 很多网上的资料说,啊,直接创建一个自定义控件 ...

  8. 在FL2440上使用kei MDK 调试程序(J-link)

    <一>新建一个工程 单击Project ->New µVision Project...菜单项 <二>选择CPU 这里我们选择三星的2440A 点击OK后会提示你是否添加 ...

  9. 转:angular的decorator方法

    AngularJS实例 – 装饰$log 在AngularJS中,我们可以使用Angular内置或者自定义的services,在应用的各个部分之间分享数据和方法.假设你已经定义了一个service,但 ...

  10. tomcat部署不正确

    我把一个名为cp的web项目导入myeclipse中,由于要再次导入该工程的新版本,我就把旧版本的cp项目改名成cp3.但是在运行新项目cp的时候,tomcat出问题,一直是之前旧cp对应的tomca ...