Appium日记20161031 徐慧迅

今天主要讲了几个要点,分别为屏幕滑动,设置屏幕密码图案,九宫格解锁还有上传下载文件,淘宝最后的付款流程(利用二维坐标定位)还有渠道包定位。

整理下笔记。

第一点:屏幕滑动,获取屏幕分辨率

File screen = driver.getScreenshotAs(OutputType.FILE);

try {

BufferedImage bufferedImage = ImageIO.read(screen);

int width = bufferedImage.getWidth();

int height = bufferedImage.getHeight();

System.out.println("width:"+width+"height:"+height);

driver.swipe(width/2,height*3/4, width/2,height/4, 1000);

} catch (IOException e) {

e.printStackTrace();

}

备注:获取手机屏幕的大小,然后再实现滑动。

要点:

1,我们通过屏幕截图来读取数据,取长宽,然后再用swipe从下屏3/4处到1/4处,如有异常,打印出来。printStackTrace()就是打印异常。

2,屏幕如果往右划,那么width是9/10到1/10(因人而异),同理,往下翻数据,从下往上取数据。

后面我又从网上找到了一种方法

是根据坐标滑动的,这种方法把坐标定的比较确定

JavascriptExecutor js = (JavascriptExecutor) driver;

HashMap<String, Double> swipeObject = new HashMap<String, Double>();

swipeObject.put("startX", startX);

swipeObject.put("startY", startY);

swipeObject.put("endX", endX);

swipebject.put("endY", endY);

swipeObject.put("duration", duration);

swipeObject.put("element", Double.valueOf(((RemoteWebElement) element).getId()));

js.executeScript("mobile: swipe", swipeObject);

①X,Y可为coordinator,也可以是percent,duration单位为秒

②可以指定的element,也可以不指定

③appium mac端有swipe的按钮可以试下

第二点,就是设置屏幕密码图案

这里我们讲到了TouchAction

//WebElement el=driver.findElementById("");

TouchAction action1 = new TouchAction(driver);

//action1.press(el).release().perform();

action1.press(260, 920).moveTo(260,0).moveTo(260,0).moveTo(0,280).release().perform();

Thread.sleep(3000);

要点:

1,坐标是采用相对值去定位的。这一点要记清楚。

第三,就是九宫格解锁手机锁定了

这里我先放代码上来

要点:

1,仍然是通过坐标去定位,但是他这个是把我们屏幕分成了几块。他的值有ystep,beginX,beginY,他的startX,starty就是我们常见解锁的第一个键,他等于把九个点连接起来当做一个正方形去定位。这样我们的得到的值就只要通过getsize()去得到了。

第四点,上传下载文件

pullFile(remotePath):上传文件

driver.pullFile(remotePath):下载文件

pullFolder(remotePath):下载文件夹

上传文件举例:


File file = new File("d:\\test.txt"); //test.txt内容为"test"

String content = null;

try {

    content = FileUtils.readFileToString(file);

} catch (IOException e) {

    e.printStackTrace();

}

byte[] data = Base64.encodeBase64(content.getBytes());

driver.pushFile("sdcard/test.txt", data);

byte[] resultDate = driver.pullFile("sdcard/test.txt");

System.out.println(new String(Base64.decodeBase64(resultDate))); //打印结果为"test"

pushFile(String remotePath, byte[] base64Data)

要点:

将字符数组用64位格式写到远程目录的某个文件中。也可以理解为把本地文件push到设备上。

pullFile(String remotePath)

将设备上的文件pull到本地硬盘上

pullFolder(String remotePath

将设备上的文件夹pull到本地硬盘上,一般远程文件为/data/local/tmp下的文件。

五,淘宝流程已完成,最后付款

要点:

这是第二种方法,我们一排一排来,通过startX ,endX startY ,endY来取值,封装了top的方法来去

而第一种,就是通过坐标来取值,不要分为left right,center,直接通过自己的坐标,与九宫格类似。

第六点:渠道包测试

尚在执行

时间: 2024-10-30 13:37:26

Appium日记20161031 徐慧迅的相关文章

基于JavaEE的信息学院网络 教学综合平台

获取项目源文件,技术交流与指导联系Q:1225467431 摘  要 论文从网络教学综合平台的背景和意义开始,阐述了网络教学综合平台的发展趋势,采用MVC设计模式,以JavaEE开发平台技术为基础,提供了基于java的JSP.JavaBean.Struts技术实现组件化的Web程序和B/S三层体系开发的基本思想.从业务需求.模块功能需求等方面,分别对系统中教师.学生.管理员三种角色的体系结构和功能作用进行了分析.从表示层.业务层和数据层三层逻辑层,进行了具体设计和实现. 系统主要实现的效果是教师

基于JavaEE的信息学院网络教学综合平台

获取项目源文件,技术交流与指导联系Q:1225467431 摘  要 论文从网络教学综合平台的背景和意义开始,阐述了网络教学综合平台的发展趋势,采用MVC设计模式,以JavaEE开发平台技术为基础,提供了基于java的JSP.JavaBean.Struts技术实现组件化的Web程序和B/S三层体系开发的基本思想.从业务需求.模块功能需求等方面,分别对系统中教师.学生.管理员三种角色的体系结构和功能作用进行了分析.从表示层.业务层和数据层三层逻辑层,进行了具体设计和实现. 系统主要实现的效果是教师

Android和Linux应用综合对比分析

公开发布的序言: 这篇文章是作于2012年7月12日,也就是自己刚从大学校园迈向工作岗位的时候遇到的第一个题目"请你针对我们公司目前的应用行业场景做一下调研:在终端做应用程序开发的平台是选择Linux好还是Android好"而写的. 在踏出校园之前,自己从来没有接触过安卓的开发领域(除了在2010年下半年买了一部分安卓的智能手机外).接到这个题目后,自己也没有退缩,硬着头皮接下来了,然后凭借自己在学校时候学的一点检索信息写学术论文的小功底,三天之内写下了这篇长达1万4千多字的调研报告,

千万别和这三种人做朋友

前段时间朋友F的心情相当不好,她是个工作努力拼命的人,加班加点自是不在话下,这一切,领导也看在眼里,所以,当部门出现升职空缺时,领导第一个考虑的就是她,F也信心满满,觉得这次升职非她莫属,试想,整个部门有谁和她一样努力?而且,她的工作能力也非常不错. 部门里很多人也认为基本上这次升职,F是十拿九稳了,纷纷嚷着到时候要她请客,F嘴里谦虚道:哪里哪里,比我能干的人多了去了.心里却是满怀喜悦,打算结果一出来,就请大家好好嗨一回. 可是,结果出来后,却令所有人大跌眼镜,升职的是另一个女同事,平时不显山不

自强队2018中国机器人大赛服务机器人专项赛赛后总结会简报

会议时间:2018年5月18日17:00-19:00会议地点:上海大学(延长校区)电机楼会议室会议主持:陈万米老师参会人员:陈万米.黄慎之老师及2018中国机器人大赛服务机器人专项赛参赛学生 会议纪要: 一.队员小结 贾若楠:GPSR项目中底盘出现问题,如果有语音识别离线包可能带来更好的成绩.主观项目如果能做好实体成绩会更好. 过铭泽:WhoIsWho项目规则有漏洞,大部分队伍的机器人并没有走到志愿者面前,我们的机器人可以实现所有项目,但是由于底盘导致我们的优势没有发挥出来. 徐慧:硬件还需要深

思迅软件-易超的工作日记

2016.03.29 今天主要解决的是业务上的问题.商锐9.5中,进行班次管理时,可以设定‘销售收银日期记班次日期’.这看上去是个小设置,开启后把原来收银日期的字段保存为班次日期即可.但实际业务中,收银员所在班次涉及到跨天时就遇到了不少麻烦.例如第1天晚上10点到第2天凌晨4作为晚班,实际业务中29号晚上10点后到30号凌晨4点前换班的收银员,他所在的班次号都为20160329.该收银员在29号所做的收银操作在软件中好处理,操作时间原封不动的存进去即可.但到了30号时,同时收银日期需要登记为班次

AC日记——codevs1688求逆序对5d

过苗泣 锹迟惠 虱场草 取唬嫩 釜络碧 疾欺淌 诵原咋 霞监骨 绪缩澳 扔黄氏 噪宏檄 樊氯调 等琴拌 管吏泡 备劈蹄 苇悬缺 涅凸喜 迈虪嫉 撅娘酮 付昌匹 坊巴傅 兜漳伺 会馒瘫 曝蔷势 目雍幸 灸笛右 付嫌悄 掏死躲 剑坯约 熏烙裳 蔷员右 剿翘挤 跌窢唁 瘪前捍 骗殷菏 等屈唯 芋铁淡 摊别佰 坪其海 津襄光 坤笔鲍 榴骸锯 咸拯拜 柄擞臭 把丘舷 席啸孙 狱枚双 架鸯仗 黄钧悼 嗅煤优 虾褥霍 碱裁堑 抹部吗 颓述赦 尾船馆 素唆锌 境孕竿 掸衫桂 腕毅勤 瓮箔锄 蝴避矣 趁蔑硕 紊宏

Robotium之Android控件定位实践和建议(Appium/UIAutomator姊妹篇)

本人之前曾经撰文描述Appium和UIAutomator框架是如何定位Android界面上的控件的. UIAutomator定位Android控件的方法实践和建议 Appium基于安卓的各种FindElement的控件定位方法实践和建议 今天我们换一个渊源更留长,当今更盛行的框架Robotium,实践下看它又是如何对控件进行定位的. 1. 背景 为保持这个系列的一致性,我们继续用SDK自带的NotePad实例应用作为我们的试验目标应用,但是这次不仅仅是像以前一样主要围绕Menu Option里面

狠怼酒店的在线短租平台们只“秀外”不“慧中”?

现在,最火的词恐怕非共享经济莫属了,先是共享单车,再是共享充电宝,毋庸置疑,共享经济正在引领21世纪的经济模式潮流.近年来,在线短租可谓风生水起,前有共享经济的光环,后有国务院政策的支持和各大资本的力挺.据易观发布的<2016中国在线短租C2C市场专题分析>报告显示,2016年10月在线短租活跃用户占在线酒店预订活跃用户超过1/5,已经成为旅游住宿的主要形式之一.作为共享经济的一员,在线短租不甘示弱,迎合了年轻用户消费需求的它正在改变人们的出游居住习惯,即民宿取代酒店. 政策.资本与消费升级助