AppiumServer01-快速入门

作者: __流云 | 来源:发表于2019-02-22 17:37 被阅读0次

1. 简介

  • Appium是一个免费的,开源的移动端app自动化测试框架,它支持原生和网页混合型应用。它是跨平台的,支持安卓和iOS以及WP平台。

  • 由于它支持网页混合型应用,且现代app多数是原生+H5混合型的,所以appium这几年非常流行。Appium支持JAVA/Python等多种开发语言。


2. 环境搭建

2.1 安装Appium Server


2.2 配置adb环境变量


2.3 安装NodeJS


2.4 启动Appium Server:

  • 比如:我将nodejs解压到d:\nodejs;appium解压到d:\appium
  • 那么在cmd中的启动命令为:D:\nodejs\node.exe D:\appium\build\lib\main.js
启动命令

3. 安装Python3.x环境:


4. 安装Appium的Python客户端

  • pip3 install Appium-Python-Client

5.安装被测APP


6. 连接安卓手机

  • 打开安卓手机的USB调试

  • 连接手机到电脑

  • 在windows命令提示符中输入:adb -devices,能看到手机连上电脑既可


    查看手机是否连上

7 修改并运行脚本

  • 根据自己的手机来修改


# 1.导入appium的webdriver
from appium import webdriver

def get_driver():
    """
        获取设备driver
    """
    desired_caps = {}
    desired_caps['platformName'] = 'Android'                    # 打开什么平台的app,固定的 > 启动安卓平台
    desired_caps['platformVersion'] = '5.1.1'                   # 安卓系统的版本号:adb shell getprop ro.build.version.release
    desired_caps['deviceName'] = 'vivo x6plus d'                # 手机/模拟器的型号:adb shell getprop ro.product.model
    desired_caps['appPackage'] = 'io.appium.android.apis'               # app的名字:
                                                            # 安卓8.1之前:adb shell dumpsys activity | findstr "mFocusedActivity"
                                                            # 安卓8.1之后:adb shell dumpsys activity | findstr "mResume"
    desired_caps['appActivity'] = '.ApiDemos'              # 同上↑
    desired_caps['unicodeKeyboard'] = True                      # 为了支持中文
    desired_caps['resetKeyboard'] = True                        # 设置成appium自带的键盘
    # 去打开app,并且返回当前app的操作对象
    driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)

    return driver

def test():
    """
        查找单个元素
    """
    # 获取driver
    driver = get_driver()

    #  通过id获取元素:最准确
    app = driver.find_element_by_id("android:id/text1")
    app.click()

    # 返回键
    driver.back()

    # 通过text获取元素
    Animation = driver.find_element_by_android_uiautomator('new UiSelector().text("Animation")')
    Animation.click()

    # 返回键
    driver.back()

    # 通过content-desc来获取元素
    app = driver.find_element_by_accessibility_id("App")
    app.click()

    # 返回键
    driver.back()

    # 通过xpath获取:使用最多
    media = driver.find_element_by_xpath("//android.widget.TextView[@text='Media' and @content-desc='Media']")
    media.click()


if __name__ == "__main__":
    test()




码字不易,多多关注。


  • 疑问咨询请加QQ群:1084188341

相关文章

网友评论

    本文标题:AppiumServer01-快速入门

    本文链接:https://www.haomeiwen.com/subject/wbpeyqtx.html