5949668.html

    xiaoxiao2021-03-25  235

    使用python实现appium的屏幕滑动 - 一测一世界 - 博客园 代码改变世界 Posts - 9, Articles - 0, Comments - 1 Cnblogs Dashboard Login var m = window.__blog.topMenuRendered; if (m) { m(__$("topMnu")); } Home Contact Gallery RSS

    一测一世界

    var m = window.__blog.headerRendered; if (m) { m(__$("header")); } var m = window.__blog.preRenderPosts; if (m) { m(); }

    使用python实现appium的屏幕滑动

    2016-10-11 16:03 by 一测一世界, 阅读, 评论, 收藏, 编辑

    前些日子写一个滑动手机页面的小脚本,看到大家给的内容都是swipe方法,这里对swipe方法做一个小介绍:

    Swipe(int start x,int start y,int end x,int y,duration)

    解释:int start x-开始滑动的x坐标,

      int start y -开始滑动的y坐标。

       int end x -结束点x坐标,

       int end y -结束点y坐标。

       duration 滑动时间(默认5毫秒);

    由于swipe方法需要制定的是坐标,但是由于每个手机的分辨率不同,如果我们指定了一个固定的坐标,在其他手机上也不一定能适用,所以最好的办法就是通过获取手机屏幕的坐标来滑动,

    这样可以增加代码的复用性。

    以下是我的python代码:

    dr=webdriver.Remote("http://localhost:4725/wd/hub",desired_cups) #获得机器屏幕大小x,y def getSize(): x = dr.get_window_size()['width'] y = dr.get_window_size()['height'] return (x, y) #屏幕向上滑动 def swipeUp(t): l = getSize() x1 = int(l[0] * 0.5) #x坐标 y1 = int(l[1] * 0.75) #起始y坐标 y2 = int(l[1] * 0.25) #终点y坐标 dr.swipe(x1, y1, x1, y2,t)

    简单解释一下:

    下图是屏幕的坐标图,向上滑动屏幕就是x轴不变,y轴由大到小的变化过程

    以下我将向上滑动、向下滑动、向左滑动和向右滑动整理了一下,并且实现他们的调用:

    #获得机器屏幕大小x,y def getSize(): x = dr.get_window_size()['width'] y = dr.get_window_size()['height'] return (x, y) #屏幕向上滑动 def swipeUp(t): l = getSize() x1 = int(l[0] * 0.5) #x坐标 y1 = int(l[1] * 0.75) #起始y坐标 y2 = int(l[1] * 0.25) #终点y坐标 dr.swipe(x1, y1, x1, y2,t) #屏幕向下滑动 def swipeDown(t): l = getSize() x1 = int(l[0] * 0.5) #x坐标 y1 = int(l[1] * 0.25) #起始y坐标 y2 = int(l[1] * 0.75) #终点y坐标 dr.swipe(x1, y1, x1, y2,t) #屏幕向左滑动 def swipLeft(t): l=getSize() x1=int(l[0]*0.75) y1=int(l[1]*0.5) x2=int(l[0]*0.05) dr.swipe(x1,y1,x2,y1,t) #屏幕向右滑动 def swipRight(t): l=getSize() x1=int(l[0]*0.05) y1=int(l[1]*0.5) x2=int(l[0]*0.75) dr.swipe(x1,y1,x2,y1,t) #调用向左滑动 swipLeft(1000) sleep(3) #调用向右滑动 swipRight(1000) 调用向上滑动 swipeUp(1000) 调用向下滑动 swipeDown(1000)

    分享完毕,希望能对大家有所帮助!

    var m = window.__blog.postRendered; if (m) { m(__$("post")); } var m = window.__blog.postRenderPosts; if (m) { m(); } 刷新评论 刷新页面 返回顶部 fixPostBody(); setTimeout(function () { incrementViewCount(cb_entryId); }, 50); deliverAdT2(); deliverAdC1(); deliverAdC2(); loadNewsAndKb(); loadBlogSignature(); LoadPostInfoBlock(cb_blogId, cb_entryId, cb_blogApp, cb_blogUserGuid); GetPrevNextPost(cb_entryId, cb_blogId, cb_entryCreatedDate); loadOptUnderPost(); GetHistoryToday(cb_blogId, cb_blogApp, cb_entryCreatedDate); var m = window.__blog.contentRendered; if (m) { m(__$("content")); }

    About

    var m = window.__blog.aboutRendered; if (m) { m(__$("about")); } var m = window.__blog.searchFormRendered; if (m) { m(__$("searchform")); } .ajax({                        url: '/' + currentBlogApp + '/mvc/blog/Minyx2_Lite_SideColumn.aspx',                        data: '{}',                        type: 'post',                        dataType: 'text',                        contentType: 'application/json; charset=utf-8',                        success: function (data) {                            if (data) {("#sideContainer").html(data); loadBlogDefaultCalendar(); loadBlogSideBlocks(); var m = window.__blog.sideContainerRendered; if (m) { m(__$("sideContainer")); } window.__blog.sidebar.__layout(); } } }); var m = window.__blog.sidebarRendered; if (m) { m(__$("sidebar")); }

    www.spiga.com.mx

    Copyright ©2017 一测一世界

    博客园

    </div> </div> <script type="text/javascript"> var m = window.__blog.wrapperRendered; if (m) { m(__$("wrapper")); } </script>

    var m = window.__blog.containerRendered; if (m) { m(__$("container")); }

    转载请注明原文地址: https://ju.6miu.com/read-8689.html

    最新回复(0)