appium 学习各种小功能总结--功能有《滑动图片、保存截图、验证元素是否存在、》---新手总结(大牛勿喷,新手互相交流)
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 学习各种小功能总结--功能有《滑动图片、保存截图、验证元素是否存在、》---新手总结(大牛勿喷,新手互相交流)的更多相关文章
- appium获取app应用的package和 activity。---新手总结(大牛勿喷,新手互相交流)
从网上搜索的方法: 如下: 1.查看源码 2.日志法a.启动待测apkb.开启日志输出:adb logcat>D:/log.txtc.关闭日志输出:ctrl+cd.查看日志直接搜索 :Displ ...
- python --appium搭建环境过程 ---新手总结(大牛勿喷,新手互相交流)
首先安装python 安装包:https://yunpan.cn/cSdYZqjJ4xDZ3 访问密码 4bf9 1.安装pip cd 到pip安装包 python setup.py inst ...
- 微信小程序中实现左右滑动图片翻页
页面代码 <swiper class="container" indicator-dots="{{indicatordots}}" autoplay=&q ...
- 微信小程序点击按钮将图片保存到手机
SaveCard: function(e) { let that = this; console.log('保存'); var imgSrc = e.currentTarget.dataset.img ...
- 微信小程序的功能开发工具跟公众号的差别,小程序是一种减负思维对简单APP是巨大打击
微信小程序的功能开发工具跟公众号的差别,小程序是一种减负思维对简单APP是巨大打击 摘要: 小程序和公众号最大的区别有如下四点:1.小程序没有粉丝,开发者在后台能看到的只能是累计用户访问数以及实时统计 ...
- 1.3 操作系统的第三个功能——存储管理功能 -《zobolの操作系统学习札记》
1.3 操作系统的第三个功能--存储管理功能 作者zobol:关于操作系统概论-存储管理功能,我给出下列问题: 目录 1.3 操作系统的第三个功能--存储管理功能 问1:操作系统的文件管理系统主要是负 ...
- 1.2 操作系统的第二个功能——并发功能 -《zobolの操作系统学习札记》
1.2 操作系统的第二个功能--并发功能 目录 1.2 操作系统的第二个功能--并发功能 问1:什么是并发功能?并发功能是必要的吗? 问2:并发功能必须要求拥有多核CPU吗? 问3:多核CPU和单核C ...
- 生鲜配送管理系统_升鲜宝V2.0 小标签打印功能【代配送商品打印小标签功能】说明_15382353715
小标签打印说明 小标签打印可以打印本系统的订单商品数量,也可以把外部的订单商品导入本系统进行打印. 打印本系统中的订单商品操作说明[上篇文章已经讲解相关的操作说明] 打印本系统之外的订单商品明细清单 ...
- 生鲜配送管理系统_升鲜宝V2.0 小标签打印功能说明_15382353715
小标签打印说明 小标签打印可以打印本系统的订单商品数量,也可以把外部的订单商品导入本系统进行打印. 打印本系统中的订单商品操作说明 1.1 界面说明 1.2 查询条件 1.2.1 ...
随机推荐
- netbeans字体与颜色配置模板相关网站
NetBeans Themes -Color Schemes of the NetBeans IDE NetBeans ThemeBuilder
- Android SQLite 事务处理
应用程序初始化时需要批量的向sqlite中插入大量数据,单独的使用for+Insert方法导致应用响应缓慢,因为 sqlite插入数据的时候默认一条语句就是一个事务,有多少条数据就有多少次磁盘操作.我 ...
- PPT插件 用js制作PPT
https://github.com/bartaz/impress.js/ deck.js
- JS 严格模式
标志 "use strict"; //老版本浏览器会自动忽略 调用 //整个文件调用 (function(){ "use strict"; })(); //单个 ...
- VS快捷方式小技巧
VS2005代码编辑器的展开和折叠代码确实很方便和实用.以下是展开代码和折叠代码所用到的快捷键,很常用: Ctrl + M + O: 折叠所有方法 Ctrl + M + M: 折叠或者展开当前方法 C ...
- You raise me up
You raise me up, so I can stand on mountains;You raise me up, to walk on stormy seas;I am strong, wh ...
- jvm栈和堆详解
Java把内存分成两种,一种叫做栈内存,一种叫做堆内存 在函数中定义的一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配.当在一段代码块中定义一个变量时,java就在栈中为这个变量分配内存空间 ...
- sql语句中特殊函数的用法
1.concat CONCAT(字串1, 字串2, 字串3, ...): 将字串1.字串2.字串3,等字串连在一起. 例如: Geography 表格 region_name store_na ...
- Problem B: 最少步数
DescriptionA friend of you is doing research on theTraveling Knight Problem (TKP) where you are to f ...
- MySql级联操作
转自:http://blog.csdn.net/codeforme/article/details/5539454 外键约束对子表的含义: 如果在父表中找不到候选键,则不允许在子表上进行i ...