zoukankan      html  css  js  c++  java
  • 基于appnium+python+夜神模拟器的自动化

    首先搭好appnium环境!参考https://www.cnblogs.com/testlearn/p/11419797.html  

    1、安装夜神模拟器

    下载安装夜神模拟器后,在cmd命令输入adb connect 127.0.0.1:62001,显示出设备则表示连接成功

    2、定位元素

    打开安卓目录下,...sdk ools目录下面的uiautomatorviewer.bat文件;

    打开 uiautomatorviewer 时若报错:Error while obtaining UI hierarchy XML file: com.android.ddmlib.SyncException: Remote object doesn't exist!

     重新执行第1步即可

     

     如上,左上角图标应该就是获取手机上当前页面的“元素”/app的信息,这两个属性 resource-id和class就是他对应的属性,可以通过这些属性来定位元素。

    package为当前启动应用的包名,获取包名的另一种方式为:在CMD命令行输入adb shell  进入adb命令行模式

     在adb命令行输入:logcat | grep ActivityManager   ;再启动应用,找到关键字Displayed,关键字后面即为appPackage + appActivity

    3、开始编码

    # coding=utf-8
    
    from appium import webdriver
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.support import expected_conditions as EC
    
    # appium服务监听地址
    server = 'http://localhost:4723/wd/hub'     # localhost为本机;4723为端口;/wd/hub可以看成是规定的默认地址
    # app启动参数
    desired_caps = {
      "platformName": "Android",            # platformName:使用哪个移动操作系统平台;iOS,Android或FirefoxOS
      "deviceName": "127.0.0.1:62001",      # deviceName:使用的移动设备或模拟器的种类
      "appPackage": "com.tencent.mm",  # appPackage:你想运行的Android应用程序的Java包(仅限Android使用)
      "appActivity": ".ui.LauncherUI"     # 要从包中启动的Android活动的活动名称。(仅限Android使用)
    }
    
    # 驱动
    driver = webdriver.Remote(server, desired_caps)
    wait = WebDriverWait(driver, 30)
    # 获取登录按钮
    login_btn = wait.until(EC.presence_of_element_located((By.ID, "com.tencent.mm:id/edu")))
    # 点击登录按钮
    login_btn.click()
    # 获取手机号文本框
    phone_text = wait.until(EC.presence_of_element_located((By.ID, "com.tencent.mm:id/li")))
    # 填写手机号文本框
    phone_text.send_keys("12345678900")
  • 相关阅读:
    Delphi内JPG与BMP的互相转换
    通过设置数据单元格的hint和ToolTips属性,当移动鼠标到该单元格时,可以显示单元格容纳不下的文本内容...
    delphi内进行音量控制及静音
    误把TXT文件关联设成CMD的解决办法
    精通批处理教程
    我的Qzone第一天
    寻找第K大的数的方法总结
    算法的力量(李开复)
    HDOJ 1001
    添加收藏夹
  • 原文地址:https://www.cnblogs.com/testlearn/p/11432339.html
Copyright © 2011-2022 走看看