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 ...
 
随机推荐
- CentOS 安装Node.js
			
先安装gcc-c++编译环境和openssl yum install gcc-c++ openssl-devel 然后 下载包并解压 cd /usr/local/src wget http://nod ...
 - jQuery获取Select选择的Text(非表单元素)和 Value(表单元素)(转)
			
jQuery获取Select选择的Text和Value: 语法解释: . $("#select_id").change(function(){//code...}); //为Sel ...
 - 20141011C#面向对象基础
			
什么是对象?—— 一切皆为对象.Object 生活中常说的“东西”,就是我们程序里所指的对象. 归类——找模型——抽象 类:class,对某类众多对象共同的特点进行抽象出来的模型 对象——(抽象的过程 ...
 - Java I/O流操作(二)---缓冲流[转]
			
转自:http://blog.csdn.net/johnny901114/article/details/8710403 一.BufferWriter类 IO的缓冲区的存在就是为了提高效率,把要操作的 ...
 - C++中虚函数功能的实现机制
			
要理解C++中虚函数是如何工作的,需要回答四个问题. 1. 什么是虚函数. 虚函数由于必须是在类中声明的函数,因此又称为虚方法.所有以virtual修饰符开始的成员函数都成为虚方法.此时注意是vir ...
 - intellj idea 如何设置类头注释和方法注释
			
intellj idea 如何设置类头注释和方法注释 intellj idea的强大之处就不多说了,相信每个用过它的人都会体会到,但是我们也会被他的复杂搞的晕头转向,尤其刚从ecl ...
 - SGU题目总结
			
SGU还是个不错的题库...但是貌似水题也挺多的..有些题想出解法但是不想写代码, 就写在这里吧...不排除是我想简单想错了, 假如哪位神犇哪天发现请告诉我.. 101.Domino(2015.12. ...
 - 搭建Hadoop集群 (一)
			
上面讲了如何搭建Hadoop的Standalone和Pseudo-Distributed Mode(搭建单节点Hadoop应用环境), 现在我们来搭建一个Fully-Distributed Mode的 ...
 - php以fastCGI的方式运行在iis下,遇到的文件系统权限问题及解决方法
			
今天准备将一个php demo放在IIS下运行,网站在IIS下的配置是这样的: 应用程序池是集成模式下的.net framework 2.0(2.0或4.0没什么关系,因为php以fastCGI的方式 ...
 - codeforces 632E. Thief in a Shop   fft
			
题目链接 E. Thief in a Shop time limit per test 5 seconds memory limit per test 512 megabytes input stan ...