• appium自动化测试(2)-工具(monitor、uiautomatorviewer)


    获取应用信息:
    1. from appium import webdriver
    2. desired_caps ={}
    3. desired_caps['platformName']='Android'# 哪种移动平台
    4. desired_caps['platformVersion']='4.2'  #设备版本号
    5. desired_caps['deviceName']='Android Emulator' #设备是模拟机
    6. desired_caps['appPackage']='com.android.calculator2' #待测试的app的java package
    7. desired_caps['appActivity']='.Calculator' #待测试的app的activity名字
    8. driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps) #
    讨论:webdriver.Remote实际上就是原生webdriver的子类,另外Remote()构造函数的第一个参数中需要显示指定appium server监听的端口
    1、monitor.bat(获取app的package&activity)

    该文件位于your_andriod_sdk_path ools下面。

    该工具可以帮我们找到android控件的content-description,为以后的find_element_by_accessibility_id 定位方法做参数使用。

    2、uiautomatorviewer.bat(获取app的package和控件属性)

    该文件位于your_andriod_sdk_path ools下面。

    该工具主要用来查看控件的属性,比如resource id,class name等。

    该工具也可查看被测app的appPackage(Desired Capabilities中使用)。

     
           
    3、获取activity名字
    1、直接看源码,推荐;
    2、反编译

    如果没有代码,那么可以反编译该app。

    这里将用到2个工具,分别是dex2jar和jd-gui。

    以工具包里的ContactManager.apk为例,简单介绍一下反编译的流程。

    • 1,重命名ContactManager.apk为ContactManager.zip并解压得到文件classes.dex;
    • 2,解压dex2jar-0.0.9.15.zip,并从命令行进入该文件夹;C:appiumapk反编译dex2jar-0.0.9.15
    • 3,运行命令d2j-dex2jar.bat  C:appiumapk反编译com.meijialove.activity-1classes.dex在当前文件夹下得到classes-dex2jar.jar;
    • 4,解压jd-gui-0.3.6.windows.zip得到文件jd-gui.exe;
    • 5,使用jd-gui.exe打开classes-dex2jar.jar;
         
    3、查看log,发现在Android Devices Monitor的log可以看到activity的名字
              
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     





    多点坚持~期待优雅~
  • 相关阅读:
    Lua C Api
    Lua string.gsub (s, pattern, repl [, n])
    LearnOpenGL 你好,三角形[转]--附源码
    学习OpenGL简单易懂网站
    泰文排版规则
    Lua截取utf-8编码的中英文混合字符串
    字符编码
    使用Ant编译提示Class not found: javac1.8
    MySQL索引
    转 linux 权限
  • 原文地址:https://www.cnblogs.com/qingxd/p/5533746.html
Copyright © 2020-2023  润新知