码迷,mamicode.com
首页 > 移动开发 > 详细

Appium 测试APK

时间:2016-08-28 17:50:14      阅读:302      评论:0      收藏:0      [点我收藏+]

标签:

介绍

Appium是一个开源、跨平台的测试框架,可以用来测试原生及混合的移动端应用。Appium支持iOS、Android及FirefoxOS平台测试。Appium使用WebDriver的json wire协议,来驱动Apple系统的UIAutomation库、Android系统的UIAutomator框架。

特点:

  • 跨架构
  • 跨设备
  • 跨语言
  • 跨app
  • 不依赖源代码
  • 不限制测试框架和平台

实际应用(以Android平台为例)

1、安装jdk

我装的jdk1.8.0_20

技术分享

2、安装Android studio,使用其中的sdk

技术分享

技术分享

3、sdk环境配置

1)在环境变量的系统变量中新建变量ANDROID_HOME,变量值就是adk对应的路径

技术分享

2)点击编辑系统变量path,添加sdk的tools和platform-tools

技术分享

3)点击确定,在cmd下运行adb devices 

技术分享

出现下面的就是正确了

如果只显示了list of devices attached 则需先在命令行输入adb connect 127.0.0.1:62001,再输入adb devices即可

4、安装模拟器(模仿Android的环境)

可以使用Android自带的模拟器,这里我使用的是夜神模拟器(相对较为流畅)

技术分享

5、启动模拟器,出现桌面

技术分享

6、安装Python

7、安装appium

8、安装Appium-client 

注意:ip命令需要到python的scripts目录下用(因为pip.exe在那)

cmd下跳转到Python的script目录下,输入pip install appium-client,则自动安装

9、双击打开ANDROID_HOME/tools下的uiautomatorviewer.bat

出现以下界面

技术分享

点击左上角第二个按钮,就可以显示模拟器中的界面

技术分享

如果报错,一般是因为abd的问题,则再重复3、3)步骤则可以解决

这个应用是可以对apk中的元素进行定位,方便写Python脚本

Uiautomator具体的使用方法:

  • 先找index,再找text,若再找不到则尝试找resource-id,再不行则尝试找父类,再不行就只能通过坐标

  • 通过xpyth定位:

    findElementByXPath("//android.widget.TextView[10]") xpath下标从1开始,使用完整的classname

  • 通过id定位:findElementById("com.xwtec.zhy.xwlottery:id/grid_item_tv_red"); 
  • find_element_by_name(name对应uiautomator扫描后text的内容)
  • find_element_by_id(id对应resource-id)

  • find_element_by_class_name(class_name对应class)

  • find_element_by_accessibility_id(accessibility_id对应content-desc)

  • 定位到某个文本框,并输入内容:

    text = driver.find_element_by_id("com.changhong.smartalbum:id/passwd_edit") text.send_keys("123456")

  • 滑动屏幕:
    • 获取屏幕尺寸 width=self.driver.get_window_size()[‘width‘] height=self.driver.get_window_size()[‘height‘]
    • 滑动屏幕 driver.swipe(width*9/10, height*1/2, width*1/10, height*1/2, 1000)

  •  

 

Appium 测试APK

标签:

原文地址:http://www.cnblogs.com/sker/p/5815512.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!