• appium的安装配置


    安装

    安装Appium Python Client 包 (Client库)

    pip install Appium-Python-Client
    

    要确保安装匹配版本的selenium 和 appium

    pip install selenium -U
    

    安装AppiumServer

    • 方法一:node.js & npm (下载比较缓慢)
    npm install -g appium
    

    安装 Android SDK

      * 安卓app自动化, Appium server 依赖 Android SDK

    Android Studio 包含了 Android SDK的安装工具

    官方 网站

    * https://developer.android.google.cn/studio

    历史版本

    * https://developer.android.google.cn/studio/archive

    设置环境变量 Android_Home

    将adb所在路径设置到 path 环境变量中

    另外添加两个环境变量 ANDROID_HOME,JAVA_HOME

    真机测试

    以honor为例

    启用开发者模式USB调试

    {
       "platformName": "Android",
       "platformVersion": "9",
       "deviceName": "BND-AL10-A5RNW18316011526",
       "appPackage": "tv.danmaku.bili",
       "appActivity": "ui.splash.SplashActivity",
       "unicodeKeyboard": true,
       "resetKeyboard": true,
       "noReset": true,
       "newCommandTimeout": 6000,
       "automationName": "UiAutomator2"
    }
    

    使用adb命令查看对应的值

    # 获取设备号
    adb devices
    
    # 获取系统版本
    adb -s 设备号 shell getprop ro.build.version.release
    
    # 获取app启动包名和启动名(⚠️ 手机需要先打开对应app)
    1.Mac/Linux:
    	adb shell dumpsys window windows | grep mFocusedApp
    2.在 Windows 终端运行 '
    	adb shell dumpsys window windows
            adb shell dumpsys window windows | findstr "mCurrent"
    然后去看mFocusedApp这一行的内容。
    
    
    

    如图

    Snipaste_2020-07-16_09-13-50.jpg

    start

    python自动化执行

    查看界面元素的属性

    • C:androidsdk oolsinuiautomatorviewer.bat
    • appium server界面也可以查看
    from appium import webdriver
    # 可视化投屏
    from appium.webdriver.extensions.android.nativekey import AndroidKey
    
    desired_caps = {
        
        "platformName": "Android",
        "platformVersion": "9",
        "deviceName": "BND-AL10-A5RNW18316011526",    # 自己手机型号-adb devices 返回的设备号
        "appPackage": "tv.danmaku.bili",    # 启动APP package 名称
        "appActivity": "ui.splash.SplashActivity",    # 对应的activity名称
        "unicodeKeyboard": True,    # 需要输入中文,
        "resetKeyboard": True,
        "noReset": True,
    }
    # 连接Appium Server, 初始化自动化环境  开始控制手机 固定写法 desird_caps:配置信息
    driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
    
    # 设置缺省等待时间
    driver.implicitly_wait(10)
    
    # 根据id定位搜索位置框,点击
    driver.find_element_by_id("expand_search").click()
    
    # 根据id定位搜索框输入框,点击
    sbox = driver.find_element_by_id('search_src_text')
    sbox.send_keys('老祝头之夜的钢琴曲第五篇')
    
    # 输入回车键,确定搜索
    driver.press_keycode(AndroidKey.ENTER)
    
    # 选择(定位) 所有视频标题 因为id不唯一 所有用 elements
    eles = driver.find_elements_by_id('title')
    
    for ele in eles:
        ele.click()
        # 打印标题
        # print(ele.text)
    
    input('****按任意键退出...')
    driver.quit()
    
    种一棵树最好的时间是十年前,其次是现在
  • 相关阅读:
    剑指offer-树的子结构
    剑指offer-二叉搜索树的后序遍历序列
    剑指offer-调整数组顺序使奇数位于偶数前面
    剑指offer-包含min函数的栈
    剑指offer-从上往下打印二叉树
    剑指offer-链表中倒数第k个结点
    剑指offer-合并两个排列的链接
    剑指offer-替换空格
    剑指offer-旋转数组的最小数字
    剑指offer-数字在排序数组中出现的次数
  • 原文地址:https://www.cnblogs.com/fairytalk/p/13320878.html
Copyright © 2020-2023  润新知