一 Appium环境搭建

1.1 Appium客户端安装

  1. 运行appium-desktop-Setup-1.2.7.exe,默认安装即可
  2. 启动客户端,按图片步骤 1 -> 2 -> 3 -> 4 设置


3. 启动成功展示如下图

1.2 ,Appium命令行安装方式

  1. 安装Node.js ->Win:官网下载可执行包安装(Linux: yum install; Macos: brew install)
  2. 安装完成后 命令行运行npm或node -v 来查看是否安装成功


敲黑板: npm国内一般被墙,所以选择淘宝镜像安装,官网:http://npm.taobao.org

  1. 安装cnpm: npm install -g cnpm –registry=https://registry.npm.taobao.org

  1. 安装appium: cnpm install -g appium

  • 启动appium服务命令: appium &,如下图即正确安装

    敲黑板: Windows安装会提示os的模块错误,这个需要mac系统支持,不影响windows操作使用

  • 1.3,Appium-python库安装

  • 命令行安装(需要联网)

     pip install Appium-Python-Client 
    
  • 默认版本有时会报错 建议使用 ==1.3.0版本

    2,Appium入门使用

    2.1 启动appium


    2.2 界面 介绍

    2.3 手机启动参数

     desired_caps:负责启动服务端时的参数设置,
     appium server 与手机端建立会话关系时,根据这些参数服务端可以做出相应的处理
    

    desired_caps常用参数:

    platformName         平台的名称:iOS, Android, or FirefoxOS
    platformVersion      设备系统版本号
    deviceName           设备号 IOS:instruments -s devices,Android: adb devices
    app                  安装文件路径:/abs/path/to/my.apk or http://myapp.com/app
    appActivity          启动的Activity
    appPackage           启动的包
    unicodeKeyboard      unicode设置(允许中文输入)
    resetKeyboard        键盘设置(允许中文输入)
    

    生成对应的键对信息

    # server 启动参数
        desired_caps = {}
        desired_caps['platformName'] = 'Android' 
        desired_caps['platformVersion'] = '5.1'
        desired_caps['deviceName'] = '192.168.56.101:5555'
        desired_caps['appPackage'] = 'com.android.settings'
        desired_caps['appActivity'] = '.Settings'
        desired_caps['unicodeKeyboard'] = True
        desired_caps['resetKeyboard'] = True
    

    设置连接手机参数界面

    将设置好的这调皮数据进行命名

    点击对应的数据进行启动

    连接后界面介绍

    2.4 代码实现 案例

    #导入对对应的包
    from appium import webdriver
    # appium填写的数据内容
    caps = {}
    caps["platformName"] = "Android"
    caps["deviceName"] = "e036cefb9"
    caps["appPackage"] = "com.taobao"
    caps["appActivity"] = "com.taobao.tao.TBMainActivity"
    # 只有声明驱动对象我们才可以让手机完成脚本的操作,声明的方法如下:
    driver = webdriver.Remote("http://localhost:4723/wd/hub", caps)
    #手机隐形显示
    driver.implicitly_wait(30)
    # 通过appium点击图片获取的xpath地址
    exttext=driver.find_element_by_xpath('/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.wirdget.FrameLayout/android.wridget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout[3]/android.widget.FrameLayout/android.widget.FrameLayout[2]/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout')
    exttext.click()
    iputtext=driver.find_element_by_id("com.taobao.taobao:id/searchEdit")
    iputtext.send_keys("手机")
    sou=driver.find_element_by_id("com.taobao.taobao:id/searchbtn")
    sou.click()
    
    shouji=driver.find_element_by_xpath("/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.view.ViewGroup/android.support.v4.view.ViewPager/android.widget.FrameLayout/android.widget.FrameLayout[2]/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.support.v7.widget.RecyclerView/android.widget.FrameLayout[1]/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.view.ViewGroup/android.view.View[19]")
    shouji.click()
    quedshij=driver.find_element_by_xpath("/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.RelativeLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout[2]/android.view.View[1]")
    quedshij.click()
    
    

    来源:周周啊.

    物联沃分享整理
    物联沃-IOTWORD物联网 » appium自动化测试

    发表评论