• Appium环境搭建及计算器小实验


    一、环境搭建

      1. 安装Appium

        正常安装就好,中间根据机器情况可能会提示需要先安装.net framewor 4.0/4.5。

        配置Appium 环境变量。C:Program Files (x86)Appium;C:Program Files (x86)Appium ode_modules.bin。在DOS窗口执行appium-doctor验证。

      2. 安装JDK、SDK

        安装JDK,配置JAVA_HOME、Path环境变量,并在DOS窗口执行java -version 进行验证。

        将SDK解压至纯英文路径,配置Android、Path环境变量,注意Path中需要配置两个,;%ANDROID_HOME% ools;%ANDROID_HOME%platform-tools;,在DOS窗口执行adb、uiautomatorviewer验证。 Uiautomatorviewer可以获取屏幕快照及控件信息。

      3. 安装手机模拟器。如果是用真机进行测试,可跳过本步。

        模拟器有四种可选:genymotion、SDK自带的AVD、windroye以及第三方如夜游神之类的。

        Genymotion需要先安装virtual box,然后下载对应的系统包vbox格式的文件,通过virtual box加载到genymotion中。本次试验使用真机,就没有安装安卓模拟器。

      4. Python 环境安装

        安装好Python,DOS窗口输入Python可进入Python命令行模式。

        然后安装Python setup tools,然后通过pip安装appium 包。pip install Appium-Python-Client. 通过在Python编辑器中输入 from appium import webdriver进行验证。

    二、小实验

        通过appium启动手机计算器,进行3+6的计算,并校验结果是否等于9,然后输出测试结果。

    这个过程需要用到的一些命令:

        adb shell 进入手机内部系统

        adb devices 查看目前链接的手机设备

        adb install xxx.apk 向手机安装软件

        通过uiautomatorviewer 查看软件控件参数和Activity 

        通过Catlog 软件查看软件包名、Activity、页面响应时间

     1 #coding=utf-8
     2 '''
     3 计算器-手机自动化  -加法  3+6=9?
     4 '''
     5 from appium import webdriver
     6 #1>获取手机信息--存储到字典中
     7 desired_caps={}
     8 #a.平台名称
     9 desired_caps['platformName']='Android'
    10 #b.android版本
    11 desired_caps['platformVersion']='4.4.4'
    12 #c.设备名称-- adb devices
    13 desired_caps['deviceName']='192.168.56.101:5555'
    14 #d.包名
    15 #获取包名: uiautomatorviewer
    16 desired_caps['appPackage']='com.android.calculator2'
    17 #e. Activity名称
    18 #CatLog工具安装: dos进入c盘--adb install CatLog.apk
    19 desired_caps['appActivity']='.Calculator'
    20 #2>连接appium启动app,将手机信息导入;http://127.0.0.1:4723 是appium的地址和端口号,可在appium设置中查看。/wd/hub是appium规定的后缀,记住就好。。
    21 driver=webdriver.Remote('http://127.0.0.1:4723/wd/hub',desired_caps)
    22 #3>定位  3+6=9?
    23 # 3  resource-id-->对应id方法
    24 driver.find_element_by_id("com.android.calculator2:id/digit3").click()
    25 # + 碰到中文前面加小u   content-desc-->对应的name方法
    26 driver.find_element_by_name(u"").click()
    27 # 6 text-->对应的为name方法
    28 driver.find_element_by_name("6").click()
    29 
    30 # =
    31 driver.find_element_by_id("com.android.calculator2:id/equal").click()
    32 # 获取实际结果 class --  class_name      text方法获取元素的内容,后面没有小括号
    33 result=str(driver.find_element_by_class_name("android.widget.EditText").text)
    34 
    35 # 由于我的手机计算器结果框会输出 3+6=9,所以做一下处理,只取出等号=后面的数字
    36 result = result.split('=')[1]
    37 
    38 #比对实际结果与预期结果,得出结论
    39 if int(result)==9:
    40     print "测试通过"
    41 else:
    42     print "测试失败"
    43 
    44 #关闭计算器
    45 driver.quit()

      运行后,可以看到会自动启动计算器软件,输入3+6,最后在编辑器中输出测试结果。

  • 相关阅读:
    .net 中ifram的session过期,跳转到登录页面
    新建物料组!
    WCF学习系列(1)
    WCF学习系列(4)————数据协定
    AX中操作Excel
    WCF学习系列(3)————承载
    简单的库存模型组
    博弈_ZOJ3591_序列中子序列异或值大于0.cpp
    zoj2527_求最长等差数列
    第二次周日赛
  • 原文地址:https://www.cnblogs.com/good-time/p/7678206.html
Copyright © 2020-2023  润新知