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

整理下笔记。

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

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,直接通过自己的坐标,与九宫格类似。

第六点:渠道包测试

尚在执行

转载于:https://www.cnblogs.com/xuxun22/p/6106614.html

Appium日记20161031 徐慧迅相关推荐

  1. 矿大计算机学院徐慧,【导师制进行时】徐慧:给学生一个选择的权利

    这几年,在中国矿业大学(北京)的校园里,"导师"这个称呼对每一位本科生来说都不再遥远陌生,不需要等到考取硕士研究生,刚刚迈入大学的那一天,他们就已经幸运地拥有属于自己的导师了. 在 ...

  2. 作文成功之路杂志作文成功之路杂志社作文成功之路编辑部2023年第3期目录

    小学·快乐作文版_驿外桃花<作文成功之路>投稿:cn7kantougao@163.com     有你,真好 陈洛婷;叶新凤;肖世苗; 1 小学·快乐作文版_小思想者     我心中的英雄 ...

  3. 第十八届全国大学智能汽车竞赛报名信息统计:山东赛区报名队伍

    承办学校: 山东大学 比赛时间: 7月27日-30日 第十八届全国大学智能汽车竞赛报名信息统计 01 报名参赛队伍 序号 组别 学校 队伍名称 学生1 学生2 学生3 学生4 学生5 教师1 教师2 ...

  4. 第十八届全国大学智能汽车竞赛报名信息统计:安徽赛区报名队伍

    承办高校: 安徽国际商务职业学院 比赛时间: 7月20日-22日 第十八届全国大学智能汽车竞赛报名信息统计 01 报名参赛队伍 序号 组别 学校 队伍名称 学生1 学生2 学生3 学生4 学生5 教师 ...

  5. 第十八届全国大学生智能车竞赛山东赛区成绩与奖项

    第十八届全国大学生智能车竞赛分赛区比赛成绩汇总 01 预赛成绩 一.负压电磁 排名 学校 队伍名称 教师1 教师2 学生1 学生2 学生3 最终成绩 1 山东大学(威海) 山魂九队 王小利 刘萍萍 王 ...

  6. cd: mkdir: rmdir: rm

    1.1 绝对路径和相对路径 绝对路径:是指在目录下的绝对位置,直接到的目标位置 例如:只要看到这个路径:D:\图片\徐慧茹.jpg"文件是在D盘的"图片"目录中.类似这样 ...

  7. 42张图详解 NAT : 换个马甲就能上网

    点击关注公众号,Java干货及时送达 上帝视角 初识 NAT IP 地址分为公网地址和私有地址.公网地址有 IANA 统一分配,用于连接互联网:私有地址可以自由分配,用于私有网络内部通信. 私网和公网 ...

  8. 第十六届全国大学智能车竞赛全国总决赛竞速组别成绩与奖项

      正式文档将会在竞赛网站公布: smartcar.cdstm.cn §01 成绩与奖项 一.基础四轮组 [表1-1 基础四轮组成绩与奖项] 序号 赛区 学校名称 队伍名称 指导老师1 指导老师2 参 ...

  9. 第十六届全国大学生智能汽车竞赛安徽赛区赛事指南

    主办单位:安徽省教育厅 中国自动化学会 承办单位:安徽中医药大学 合肥工业大学 中国 合肥 2021年7月 §01 赛事简介   全国大学生智能汽车竞赛起源于韩国,是韩国汉阳大学汽车控制实验室在飞思卡 ...

最新文章

  1. 在线试玩,在体感游戏中打败泰森,这位小哥破解了任天堂「拳无虚发」
  2. 巨头纷纷看上的中国Robobus又获1亿美元投资
  3. Google News 中文上线
  4. 打开CMDLINE中的 ” earlyprink “ 参数
  5. 巧用Dictionary实现日志数据批量插入
  6. php 选股器,RSI切线突破选股指标(TDX)..
  7. 前端学习(2586):如何设计高扩展路由
  8. 浅谈构造函数(c#)
  9. JavaScript学习(三十七)—实现右键自定义菜单的功能
  10. Caffe编写Python layer
  11. Eclipse日常踩坑记录——导入文件时遇到的几个问题
  12. python填充nan_Pandas的数据清洗-填充NaN数据
  13. 剑指offer题解 带讲解 python版 第一部分
  14. Chelly的串串专题
  15. 原码,补码,反码概念和计算方法详解
  16. python文字转语音的五种方式win32com,pyttsx3,百度api,可使用自己的声音
  17. 计算机毕业设计JAVA瓷砖仓库管理mybatis+源码+调试部署+系统+数据库+lw
  18. PowerDesigner下载地址
  19. 三国杀7.21服务器维护,三国杀21日7时2.75版本更新维护公告
  20. 荣耀A55高调上市只为孤独求败?

热门文章

  1. 毕业设计-基于机器视觉的数字静态手势的匹配识别-OpenCV
  2. 域控制器故障恢复手记
  3. 「传统的互联网模式」呈现的是粗放式的,野蛮生长的状态
  4. 服务器磁盘格式化显示灰色的,磁盘管理里的格式化选项是灰色的怎么处理?
  5. 【学堂在线】清华数据结构 OJ小记录
  6. NahimicSvc64.exe逻辑炸弹导致CPU直飚99%
  7. 浙大数据结构课后题-堆的路径
  8. 课程设计——网上商店前台功能的设计与实现
  9. 计算机网络ping作用是什么,ping是什么意思?ping测试网络的步骤【详解】
  10. 关于xxxxxxRepository.search()方法一个分页的小陷阱