• 通过USB和wifi连接真机&编写第一个脚本


    一、通过USB和wifi连接真机

    1. 数据线连接手机并允许调试 cmd命令行执行:adb devices (能查看到设备就可以进行编写自动化脚本步骤了,如果在USB接触不良的情况下,可以执行下面步骤进行无线连接设备)

    List of devices attached
    axxxxx20        device

    2. 执行以下命令分配ip port(5558未被占用):adb -s axxxxx20 tcpip 5558  
    restarting in TCP mode port: 5558

    3. 执行使用端口连接手机(192.168.xx.xx手机的ip地址):adb connect 192.168.xx.xx:5558
    connected to 192.168.xx.xx:5558

    4. 拔掉数据线,查看已用wifi连接的设备:adb devices
    List of devices attached
    192.168.xx.xx:5558    device

    二、编写第一个脚本

    1、获取appPackage & appActivity

    在CMD命令行输入adb shell  进入adb命令行模式

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

     2、启动appium-desktop定位元素

    下载地址:https://github.com/appium/appium-desktop/releases

    定位元素

     

    定位元素后,点击Tap模拟手动点击按钮

     在安卓7.0及以上版本,左侧图无法refresh,需要增加  desired_caps['automationName'] = 'UIAutomator2'

    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": "dfc147f8",      # deviceName:使用的移动设备或模拟器的种类
      "appPackage": "com.cdsg.zgph",  # appPackage:你想运行的Android应用程序的Java包(仅限Android使用)
      "appActivity": ".activity.MainActivity"     # 要从包中启动的Android活动的活动名称。(仅限Android使用)
    }
    # 驱动
    driver = webdriver.Remote(server, desired_caps)
    wait = WebDriverWait(driver, 30)
    # 获取权限同意按钮
    permission_btn = wait.until(EC.presence_of_element_located((By.ID, "com.android.packageinstaller:id/permission_allow_button")))
    # 点击权限同意按钮
    permission_btn.click()
  • 相关阅读:
    OutputCache 缓存key的创建 CreateOutputCachedItemKey
    Asp.net Web Api源码调试
    asp.net mvc源码分析DefaultModelBinder 自定义的普通数据类型的绑定和验证
    Asp.net web Api源码分析HttpParameterBinding
    Asp.net web Api源码分析HttpRequestMessage的创建
    asp.net mvc源码分析ActionResult篇 RazorView.RenderView
    Asp.Net MVC 项目预编译 View
    Asp.net Web.config文件读取路径你真的清楚吗?
    asp.net 动态创建TextBox控件 如何加载状态信息
    asp.net mvc源码分析BeginForm方法 和ClientValidationEnabled 属性
  • 原文地址:https://www.cnblogs.com/testlearn/p/11484955.html
Copyright © 2020-2023  润新知