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,最后在编辑器中输出测试结果。

原文地址:https://www.cnblogs.com/good-time/p/7678206.html