zoukankan      html  css  js  c++  java
  • 通过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()
  • 相关阅读:
    tomcat配置通过域名直接访问项目首页步骤
    kafka配置参数
    nginx平滑升级
    redsi一主两从三哨兵
    kill
    lelnet爱一直在
    在linux中查看进程占用的端口号
    监控redis
    老猿学5G随笔:RAN、RAT以及anchor移动性锚点的概念
    老猿学5G随笔:5G网元功能体NF以及NF之间的两种接口--服务化接口和参考点
  • 原文地址:https://www.cnblogs.com/testlearn/p/11484955.html
Copyright © 2011-2022 走看看