zoukankan      html  css  js  c++  java
  • Appium入门

    一、appium的特点    

    1、Appium主流的移动自动化工具,因为封装了XCUITest(IOS的自动化框架)和UIAutomator(安卓的自动化框架) ,所以支持android和ios的自动化

    2、appium支持Web应用(Web app),支持原生应用(Native App)以及支持混合应用(Hybrid App)

    3、appium支持多种语言:python,java,ruby等

    4、总结借用一张图:

    二、环境搭建

    1. jdk(省略)

    2.Android-sdk:http://www.androiddevtools.cn/,直接下载adt/Android studio完美集成,配置环境变量(省)

    3.Python:

    4.Node.js

      安装node.js时,选取5.0以上的版本,这样在安装appium的,npm会自动下载appium所需要的依赖包。版本过低会所以出现各种问题。

    5.appium:

      官网 :  http://appium.io/

      A、npm安装

      npm install -g appium

      B、安装

      安装包安装:下载安装Appium-desktophttp://appium.io/ )客户端,双击dmg安装

      或者: 

      > npm install -g appium  # get appium
      > npm install wd         # get appium client
      > appium &               # start appium
      > node your-appium-test.js
      验证安装

      使用appium-doctor校验Appium的依赖环境是否正确配置,使用下面命令安装appium-doctor

      npm install -g appium-doctor

      检测命令:appium-doctor --ios校验ios环境,使用appium-doctor --android校验安卓环境

     

    6.Appium-python-Client:pip install Appium-Python-Client

    7.pycharm

    三、测试:

    1、连接手机成功

    2、启动服务器:命令行:appium &  /或者直接启动appium桌面版

    3、python测试代码

    from appium import webdriver
    import time

    desired_caps = {
    'platformName': 'Android',
    'deviceName': '91QECPF5US7G',
    'platformVersion': '5.1',
             #将要测试app的安装包放到自己电脑上执行安装或启动,
                    如果不是从安装开始,则不是必填项,可以由下面红色的两句直接启动
                    'app':'C:\Users\shuchengxiang\Desktop\shoujibaidu_25580288.apk',
    'appPackage': 'com.baidu.searchbox', #红色部分如何获取下面讲解
    'appActivity': 'MainActivity',
    'unicodeKeyboard': True, #此两行是为了解决字符输入不正确的问题
    'resetKeyboard': True #运行完成后重置软键盘的状态  
    }

    driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
    driver.find_element_by_id("com.baidu.searchbox:id/baidu_searchbox").click()
    driver.find_element_by_id("com.baidu.searchbox:id/SearchTextInput").clear()
    driver.find_element_by_id("com.baidu.searchbox:id/SearchTextInput").send_keys('appium测试')

    driver.find_element_by_id("float_search_or_cancel").click()
    driver.find_element_by_id("floating_action_button").click()

    driver.quit()

    获取appPackage和appActivity:
    1、在之前配置的android SDK文件中找到这个程序,并双击打开

    在连好手机的情况下点击这个按钮,界面上就会显示出当前手机的页面(如果是锁屏状态则显示黑屏)

    界面加载出来之后,加入我们想定位百度一下的文本框,那么吧光标移动到上面点击一下即可,下图框出的部分为我们需要的信息:

    通过这个信息我们知道,对于这个包,上方desired_caps字典中appPackage的值应填写为 com.baidu.search

    而代码中的定位部分的id为com.baidu.searchbox:id/baidu_searchbox,或填写baidu_searchbox

    例:driver.find_element_by_id("com.baidu.searchbox:id/baidu_searchbox").click()

    2、appActivity的获取:

    先让百度在手机中运行起来,然后在cmd中输入:adb shell dumpsys activity activities (获取当前所有的活动),搜索结果如下:

     上方将所有进程显示出来,活动进程很多比较难找,这里知道package名称,可以在结果中进行查找,得到appActivity的值为MainActivity

    关于这里的定位还有其他方法,详情参看大神的博客:http://blog.csdn.net/shyu1989/article/details/51730214

  • 相关阅读:
    IBM X3650 M4服务器安装centos找不到硬盘的解决方法
    页面头部title、description、keywords标签的优化
    SEO优化之Title 和 Meta 标签
    WPA字典锦集
    PIN码计算锦集
    神经网络入门 第6章 识别手写字体
    神经网络入门 第5章 实现多层神经网络BP算法
    神经网络入门 第4章 神经网络可以模拟任意函数
    神经网络入门 第3章 S函数
    神经网络入门 第2章 编写第一个神经元
  • 原文地址:https://www.cnblogs.com/yoyo008/p/9299613.html
Copyright © 2011-2022 走看看