zoukankan      html  css  js  c++  java
  • uiautomator python版本

    摘要:

    利用jsonrpc技术直接包装uiautomator,调用uiautomator的api在本地直接编写脚本,然后运行测试case,这样比用Java写,然后再打包,runcase要简单的多,关键是他还延伸很多有用的方法,比google原生的要强大一点。

    Name:

    Python wrapper of Android uiautomator test tool

    author:

    贺晓聪

    Github:

    https://github.com/xiaocong

    bundle.jar   jsonrpc中所用到的服务器类的支持jar包

    使用方法很简单,下载2个jar包:bunder.jar,uiautomator-stub.jar。可以在github下,我一会也会分享。下好这2个jar,将其push到android手机当中,然后启动服务器,我写了个批处理,直接运行cmd.bat:

    adb forward tcp:9008 tcp:9008
    adb push bundle.jar /data/local/tmp
    adb push uiautomator-stub.jar /data/local/tmp
    adb shell uiautomator runtest uiautomator-stub.jar bundle.jar -c com.github.uiautomatorstub.Stub


    当服务器启动后会显示如下:

    此时服务器正在运行中,好了,开始写uiautomator的case吧。既然是python,当然python的环境一定要配置好,这里我就不阐述这个了,要说的是,想要用这个工具,得按照网站上的说明安装一些module。

     

    我安装了uiautomator.py,jsonrpclib包,urllib3包,具体你可以详细看看github上的说明,当一切准备就绪的时候,就来享受一下该工具带给你的解放吧。所以很感谢作者的付出,因为有了这些人,才让我们感觉到技术的美好。

    我还是不忘我的初衷,我就是要做用uiautomator来获得界面 控件的信息,看看该工具能不能实现。直接上代码:

    # -*- coding: utf8 -*-

    from uiautomator import device as d
    #点亮屏幕
    #d.screen.on()
    #dump界面信息
    #device.dump("hierarchy.xml")
    #获取界面控件信息并打印
    xml = d.dump()
    print xml

    运行后结果:


    我要的目的达到了,下面看看我之前苦苦无法解决的问题就是动态界面的问题。我们调到秒表界面,运行该脚本:

    我能对作者表达一下爱慕么,虽然我也是男人。哈哈!Done it!速度还比用uiautomator工具要快。

    那么我要的东西都已经得到,来看看还有什么强大的功能。

    d(text="WLAN").right(className="android.widget.Switch").click()


    在设置里,我们想要点击WLAN右边的开关键,用上面的一行代码就可以搞定。这个方法很有用,搞过uiautomator的人应该知道,在一些没有resource-id来唯一辨识该switch的地方,我之前是通过index来获得,因为当前界面有2个开关。用上面的方法就很精确,就是执行的时候有点慢,因为它要先找到WLAN这个控件,然后向右比对控件,可能是这个原因造成的效率慢。

    d(scrollable=True).gesture((100, 100), (100, 400)).to((200, 500), (300, 200))

    https://blog.csdn.net/itfootball/article/details/28392295

  • 相关阅读:
    Bit Manipulation
    218. The Skyline Problem
    Template : Two Pointers & Hash -> String process
    239. Sliding Window Maximum
    159. Longest Substring with At Most Two Distinct Characters
    3. Longest Substring Without Repeating Characters
    137. Single Number II
    142. Linked List Cycle II
    41. First Missing Positive
    260. Single Number III
  • 原文地址:https://www.cnblogs.com/aliceyang/p/11962803.html
Copyright © 2011-2022 走看看