zoukankan      html  css  js  c++  java
  • 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()
    
    种一棵树最好的时间是十年前,其次是现在
  • 相关阅读:
    Java实现 LeetCode 30 串联所有单词的子串
    Java实现 LeetCode 29 两数相除
    Java实现 LeetCode 29 两数相除
    Java实现 LeetCode 29 两数相除
    Java实现 LeetCode 28 实现strStr()
    Java实现 LeetCode 28 实现strStr()
    Java实现 LeetCode 28 实现strStr()
    Java实现 LeetCode 27 移除元素
    Java实现 LeetCode 27 移除元素
    字符编码终极笔记:ASCII、Unicode、UTF-8、UTF-16、UCS、BOM、Endian
  • 原文地址:https://www.cnblogs.com/fairytalk/p/13320878.html
Copyright © 2011-2022 走看看