游戏电视苹果数码历史美丽
投稿投诉
美丽时装
彩妆资讯
历史明星
乐活安卓
数码常识
驾车健康
苹果问答
网络发型
电视车载
室内电影
游戏科学
音乐整形

Appium常用操作之微信滑屏触屏操作

  一、滑屏操作
  不需要看到欢迎页面,直接做里面的后续操作就好了。也就是我想记住一些用户的习惯,不要像第一次访问一样,有一个重置与否,给它关闭了。重置与否desiredcaps〔noReset〕True1。访问之后,马上就滑屏可以吗?
  不可以。先等待首页有个元素出现,再去滑屏。滑屏操作需要时间,模拟器或者真机执行操作更需要时间。如果直接滑动2次,第一次滑动效果还没展示出来就直接滑动第二次了,就会看到看不懂得现象。所以这种情况下就要加上time。2。连续实现2次滑屏从右向左滑driver。swipe(startx,starty,endx,endy,200)time。sleep(1)driver。swipe(startx,starty,endx,endy,200)3。代码微信app安卓fromappiumimportwebdriverimporttimefromselenium。webdriver。support。waitimportWebDriverWaitfromselenium。webdriver。supportimportexpectedconditionsasECfromappium。webdriver。common。mobilebyimportMobileBydesiredcaps{}平台类型desiredcaps〔platformName〕Android平台版本号desiredcaps〔platformVersion〕7。0设备名称desiredcaps〔deviceName〕XPUDU17713003790app包名desiredcaps〔appPackage〕com。tencent。mmapp入口acitivitydesiredcaps〔appActivity〕com。tencent。mm。ui。LauncherUI重置与否desiredcaps〔noReset〕Trueaaptdumpbadging包名连接Appiumserver。前提:appiumdesktop要启动。有监听端口。将desiredcaps发送给appiumserver。打开appdriverwebdriver。Remote(http:127。0。0。1:4723wdhub,desiredcaps)ANDROIDUIAUTOMATOR这个是一种定位表达式,用其它的表达式也是可以的。loc(MobileBy。ANDROIDUIAUTOMATOR,newUiSelector()。text(通讯录))WebDriverWait(driver,30)。until(EC。visibilityofelementlocated(loc))height、widthsizedriver。getwindowsize()startxsize〔width〕0。9startysize〔height〕0。5endxsize〔width〕0。1endysize〔height〕0。5从右向左滑时间长短需要根据实际情况自己来调试,避免没滑过去,代码就执行完毕了。driver。swipe(startx,starty,endx,endy,300)time。sleep(2)driver。swipe(startx,starty,endx,endy,300)二、模拟触屏
  滑屏也是触屏实现的。手指在屏幕上点点点,在Appium中提供了专门的TouchAction类来做这件事。
  Press、longPress和release组合起来使用的。长按和短按的时间长度不同。
  moveto手按住别松开,一直滑动到另外一个点。在每一个操作之间都调用下wait,暂缓下它们的操作间隙,不然太快了,看起来就是一团乱麻。1。短按和点击的区别?
  短按是按住不松开,但是时间比较短。tap是点完就松开,不需要组合别的一起用。有Press就必须有release,不然就一直按着上面动都不动了。
  发送命令后,只有调用perform才能真的去执行些操作命令,否则是不行的。
  将所有的行为按要求放在列表中,可以将列表中所有的东西取消cancel。
  滑屏操作是在屏幕上按住一个点,然后滑动到另外一个点,最后把它松掉。
  九宫格就是个典型的触屏应用。
  2。用坐标还是元素?
  元素方便简单,但是不是你想选就一定是哪一种。一种情况,9个点都是独立的元素,那么用元素就可以了;第二种情况,9个点都在一个元素里面怎么办?就没有办法实现元素的移动,因为就一个元素。这个时候就必须要用坐标。
  坐标需要精确定位。需要思考每个坐标之间的关系。3。引入TouchAction
  fromappium。webdriver。common。touchactionimportTouchActionTouchAction的源码:
  4。每个行为函数都有3个参数
  swipe滑屏操作是没有元素的,针对的是整个屏幕。屏幕的话就只能通过坐标点。所以你看swipe的源码就可以看到。看下swipe的实现源码:actionTouchAction(self)首先实例化TouchActionaction。press(xstartx,ystarty)。wait(msduration)。moveto(xendx,yendy)。release()action。perform()returnself
  现在是它帮你封装好了。实际上不用swipe,就用TouchAction自己去写都可以。
  xendx,yendy,没有用el。5。首先确定每一个点的位置选择一个元素上的坐标,大概会选哪个位置的?
  中心。
  坐标轴写错了一点,偏移了点,好歹也是在范围之内。如果选择边缘的点,偏了点可能就出不去了。所以,一般选一个元素的坐标,尽量选择中心。每个点之间的间隔是一样的。从一个点挪到另外一个点,y轴不用动,x轴只要有个固定的距离就好了。
  例如3个点的值是:147。376、359。378、571。378能把这3个值直接这样写出来吗?
  不能。换台设备就不行了,这样绝对的数据是不能放在这里的。采用和滑屏操作一样的思想,用百分比和相对距离。如果能获取到元素的大小以及起点坐标就可以了。
  距离是59。1475988
  可以估算一下:
  如果是长方形那就需要另外再算,但是图中是正方形,这9个格子的间距是没有什么区别的,重点是它与边界值的差距。边界值的差距是多少?
  把它分成6份。第一个点的坐标:能够得到view的起点坐标是45,272。有专门的函数可以获取元素的大小以及它的起点坐标。
  假设起点坐标是x、y,我现在已经知道将它分成了6份。那么,第一个点的坐标怎么写?
  xwidth16height16看size源码:
  看location源码:
  元素的大小sizeele。size均分的步长高和宽一样(因为是正方形)stepsize〔width〕6py3中除是取整数的,会缺点小数点没关系。取得是终点,问题不大,还是可以滑动到的。元素的起点坐标左上角oriele。locationpoint1(ori〔x〕step,ori〔y〕step)TouchAction(driver)
  等于横向走了这么远,纵向也走了这么远,刚好对着这个点了。
  第二个点的坐标怎么算?
  基于第一个点的基础上做调整就行了。y轴不变,x轴往前走了2份。
  第3个点也是在第2个点的基础上往前挪动了2个。元素的大小sizeele。size均分的步长高和宽一样(因为是正方形)stepsize〔width〕6py3中除是取整数的,会缺点小数点没关系。取得是终点,问题不大,还是可以滑动到的。元素的起点坐标左上角oriele。locationpoint1(ori〔x〕step,ori〔y〕step)point2(point1〔0〕step2,point1〔1〕)x轴增加了2steppoint3(point2〔0〕step2,point2〔1〕)x轴增加了2stepTouchAction(driver)
  第4个点的坐标:
  它是倒着往回走。
  第5个点的坐标。元素的大小sizeele。size均分的步长高和宽一样(因为是正方形)stepsize〔width〕6py3中除是取整数的,会缺点小数点没关系。取得是终点,问题不大,还是可以滑动到的。元素的起点坐标左上角oriele。locationpoint1(ori〔x〕step,ori〔y〕step)point2(point1〔0〕step2,point1〔1〕)相对于point1,x轴增加了2steppoint3(point2〔0〕step2,point2〔1〕)相对于point2,x轴增加了2steppoint4(point3〔0〕step2,point3〔1〕step2)相对于point3,x轴减少了2step,y轴增加了2steppoint5(point4〔0〕,point4〔1〕step2)相对于point4,x轴不变,y轴增加了2stepTouchAction(driver)。press(xpoint1〔0〕,ypoint1〔1〕)。wait(200)。moveto(xpoint2〔0〕,ypoint2〔1〕)。wait(200)。moveto(xpoint3〔0〕,ypoint3〔1〕)。wait(200)。moveto(xpoint4〔0〕,ypoint4〔1〕)。wait(200)。moveto(xpoint5〔0〕,ypoint5〔1〕)。wait(200)。release()。perform()。是换行用的。
  以1个点做基准,针对不同的点做基准,容易把自己绕晕了。所以,都以前一个点做基准。也可以以起点作为基准。6。代码fromappiumimportwebdriverimporttimefromselenium。webdriver。support。waitimportWebDriverWaitfromselenium。webdriver。supportimportexpectedconditionsasECfromappium。webdriver。common。mobilebyimportMobileByimporttimefromappium。webdriver。common。touchactionimportTouchActiondesiredcaps{}平台类型desiredcaps〔platformName〕Android平台版本号desiredcaps〔platformVersion〕7。0设备名称desiredcaps〔deviceName〕XPUDU17713003790app包名desiredcaps〔appPackage〕填上appPackageapp入口acitivitydesiredcaps〔appActivity〕填上appActivity重置与否desiredcaps〔noReset〕True连接Appiumserver。前提:appiumdesktop要启动。有监听端口。将desiredcaps发送给appiumserver。打开appdriverwebdriver。Remote(http:127。0。0。1:4723wdhub,desiredcaps)eledriver。findelementbyid(填上元素定位下吧,如果你app这里的元素定位不了,那就只能用坐标了,需要另外学习这块的坐标怎么写,呜呜)元素的大小sizeele。size均分的步长高和宽一样(因为是正方形)stepsize〔width〕6py3中除是取整数的,会缺点小数点没关系。取得是终点,问题不大,还是可以滑动到的。元素的起点坐标左上角oriele。locationpoint1(ori〔x〕step,ori〔y〕step)point2(point1〔0〕step2,point1〔1〕)相对于point1,x轴增加了2steppoint3(point2〔0〕step2,point2〔1〕)相对于point2,x轴增加了2steppoint4(point3〔0〕step2,point3〔1〕step2)相对于point3,x轴减少了2step,y轴增加了2steppoint5(point4〔0〕,point4〔1〕step2)相对于point4,x轴不变,y轴增加了2stepTouchAction(driver)。press(xpoint1〔0〕,ypoint1〔1〕)。wait(100)。moveto(xpoint2〔0〕,ypoint2〔1〕)。wait(100)。moveto(xpoint3〔0〕,ypoint3〔1〕)。wait(100)。moveto(xpoint4〔0〕,ypoint4〔1〕)。wait(100)。moveto(xpoint5〔0〕,ypoint5〔1〕)。wait(100)。release()。perform()。是换行用的。三、注意
  这里是V1。6。几的或V1。7。1,V1。7以前的,如果按上面代码的方式写坐标的话,会报错提示越界了。这个是版本差异引起的。需要看日志,日志中会告诉你,当前滑动的点是什么。
  多看Appium中的日志,它会问你是el滑动还是坐标滑动?
  坐标滑动会直接打印坐标值,看下坐标值超了就说明是有问题的。版本比较晚的应该都是绝对坐标。
  实际上是不会越界的,那只因为用的相对距离来滑动的。moveto的每一个坐标点都是真实的绝对坐标。
  用的当前元素的原坐标点加上移动的距离得到的是当前相对于整个屏幕左上角这个00的真实坐标值。
  我现在用的坐标,但是有的版本的问题是:
  它的moveto参数不是绝对坐标。而是相对于上一个点的移动距离。
  比如第一个点,press是没有错的。用moveto的时候y没有动,x轴移动了2倍step。
  如果是这种相对距离移动的话,要求x2step,没有坐标,y0。如果不是按这种风格写的,会报越界。
  它拿着上一个点的坐标值加上x,y,得出来肯定超界了。因为代码里写的真实坐标,再加上x,第二个点可能没有越界,第三个点就越界了。
  如果报越界错误,那么就改成相对坐标滑动一下,看看有没有报错。
  Appium在不同的版本修复了不同的问题,但是修复的同时也可能出现不同的问题。

人脸识别你需要的人工智能生物识别AI数据集全在这里一。生物识别技术定义生物识别技术主要是指通过人类生物特征进行身份认证的一种技术,即利用人体固有的生物特性,如人脸,指纹、虹膜、掌纹、指静脉等和行为特征,如笔迹、声音、步态……使用手机修图APPSnapseed自己作画上一篇写了用原图色彩制作国画,因为是原图加上去的,色彩很好,但是觉得有些呆板,不像国画那么有灵气,下面说一说怎么自己给画上色:(二)第二种方法前面的步骤大致是一样的……RedmiK40S有望了!小米11TPro在海外通过认证或即众所周知,去年小米先于海外发布了小米10T手机,而后又将该型号的手机带回国内,归于Redmi产品线,作为RedmiK30S特别版发布。小米11近日,爆料者stuff……中国一重轧线在线升级改造项目试车成功近日,从新余钢铁现场传来喜讯:由中国一重大连工程技术有限公司工程总承包的新余钢铁1580毫米新增精轧立辊改造项目一次性热负荷试车成功。新余钢铁1580毫米新增精轧立辊改造……用巨幕电视看体育比赛,是什么样的体验?华为智慧屏V98告诉你最近,全球顶级体育赛事正在东京进行。因为东京与我们几乎没有时差,所以我们不用熬夜也能看更多的比赛。那么问题来了,如果想要更好的体验中比赛氛围,获得更震撼的观赛体验,应该选择屏幕……下了班,还老惦记着工作,烦不胜烦。只需3步,教你找回生活汪Sir说作为HR,在工作中我需要经常找同事沟通,了解他们的想法。有一段时间,同事小钱经常在挂掉客户电话后,表现出抓狂的状态。在于小钱的交流中,我了解到她最近的工作……华为手机哪款手机型号性价比高?现阶段来看,没有什么性价比高的机器,老款机器现在买可能存在翻新的风险,不过现在官方也支持换部件的服务,服务还不错,我刚去过客服维修耳机,好多人拿着旧款手机去,要么翻新,要么换内……国庆假期全国共揽投快递包裹超39亿件国家邮政局监测数据显示,10月1日至7日全国邮政快递业高位运行安全平稳,共揽收快递包裹19。91亿件,与2019年同期相比增长100。38,与2020年同比增长28。31;投递……鸿蒙2。0还没更新呢,已经更了的花粉说说体验呗,在考虑自己刷鸿蒙系统非常好用,4年前买的V10,更新为鸿蒙系统后非常好。其间女儿送我苹果8也是买了近4年,卡的要死用了不到二个月不用了,还用荣耀V10,比苹果8好用多了鸿蒙系统乃民心……基本粒子狂想1。宇宙由基本粒子组成。2。宇宙是连续的,没有空隙。3。磁有两极,基本粒子有多极,空间排序方式不同构成不同物质。5。FGmmr2,基本粒子有质量,为m,是宇宙……头条的视频怎么保存下来发给朋友圈?我来分享我的经验。找到要下载的小视频(头条几分钟的视频也可以),点击右上角的三个黑点,然后在弹出的菜单中,向左滑动,找到复制链接,点击一下。打开QQ浏览器,把刚才复制的链……一日三餐不重样,云米AI抽油烟机EyeBot2烟灶套装让你生生活需要仪式感,即使再忙碌的日常,一日三餐也需要重视,不仅要营养健康更要色香味俱全。可咱们刚成家的年轻人,能烧个西红柿鸡蛋汤就很不错了,怎么可能在每天的一日三餐还能变着花样来?……
水中机器设备的防海水电缆伴随着水下工程愈来愈普及化,水下机器人,水下打捞机器设备,水中工程机械设备,水下探险,水中液压机切割等水中机器设备运用十分普遍,水中机器设备的驱动力传送,数据信号传送或数据信号……谁也拦不住我在家里洗碗美仕杰三合一厨房水龙头我,在家,所有的碗,都是我来洗。不管我媳妇愿意不愿意,我都会把水槽擦的干干净净,不管我媳妇愿意不愿意,我都练就了一身安装厨房龙头的本领(吹牛了,练就了一点点,还不是……Athne文化中心使用CintelScanner扫描仪完成胶AthneFranaisCulturalCenter,Ltd。文化中心使用BlackmagicCintelScanner胶片扫描仪完成35mm和16mm胶片数字化工作。Athn……实现私域流量价值沉淀的思维与方法互联网红利走近终点这说法似乎从2018年开始被反复提及,当互联网用户的高速增长趋于平静,再想借着互联网红利,在公域流量用低成本获得流量便步履维艰。另外企业越来越重视营销投入产出……助推数字经济,顺联动力获浙江省数字贸易创新应用优秀案例二等奖近日,由浙江省商务厅指导,浙江省国际数字贸易协会主办的浙江省数字贸易创新应用优秀案例征集活动评选已进行结果公示。本活动旨在推动我省数字贸易快速发展,加快数字技术应用与贸易高质量……十余款新品款款惊艳,华为智慧办公新品发布会正式召开北京时间2021年9月13日,华为智慧办公新品发布会如期而至,正式发布华为MateBook13s笔记本电脑、华为MateBook14s笔记本电脑、华为MateStationX一……OPPOK3电波蓝配色实拍图赏,这样的神仙颜值,你心动了吗?8月1日,OPPO上线了K3的新配色电波蓝,OPPOK3摘掉了高价低配的帽子后,也成为当下最火爆的的千元价位的手机。OPPOK3采用了升降全面屏设计,没有水滴,没有挖孔,……极氪点亮小蛮腰,开城计划落地广州广州,中国海上丝绸之路的起点,作为与澳门、香港隔海相望的港口城市,作为开放最早的沿海城市,广州人乐于接受新事物,乐于学习新知识,可以说,广州人对任何前沿时尚的嗅觉都无比敏锐。同……嘉实基金肖觅坚守优质价值标的,长期投资以获取超额回报随着新冠疫苗的逐步普及,全球疫情已经得到了有效缓解,但随之带来的经济影响也愈加明显。2020年下半年开始的芯片荒、大宗商品近期暴涨、全球供应链冲击等,造成了很多领域的供需矛盾,……英伟达公布最新支持DLSS游戏仙剑7性能表现强势近日英伟达公布了最新一批支持旗下DLSS技术,也即是深度学习超级采样技术的游戏,其中包括玩家们非常熟悉的《仙剑奇侠传》系列的《仙剑7》、《博德之门3》、《骑士精神2》和《古墓丽……老一辈人给年轻人挖的最大的坑是什么?哈哈原来有这么多啊?老一辈人给年轻人挖的最大的坑是什么?哈哈哈哈哈哈。。。原来有这么多啊?虽然说老一辈人说的话都很有道理,但是他们给我们年轻人挖的坑也是不少。那么小伙伴们,你们觉得老一辈人给……永劫无间锦鲤杯沙男三排只配打辅助?虎牙奈何桥24杀为其正名作为一款以角色技能为一大卖点的武侠吃鸡游戏,玩过《永劫无间》的人相信都十分清楚选对英雄在游戏中的重要性。一般来说,游戏中单排模式比较流行迦南、宁红夜、胡桃、火男等进攻类,而三排……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网