appium的一个Demo(包括获取APP的UI元素)

参照:http://www.cnblogs.com/fnng/p/4579152.htmlhtml

首先启动Android模拟器java

 

第二步,启动Appiumandroid

点击左上角有“机器人”的按钮:设置platform versionweb

而后点击右上角的“三角”按钮启动Appium。windows

经过Python编写自动化测试脚本。app

#coding=utf-8 from appium import webdriver desired_caps = {} desired_caps['platformName'] = 'Android' desired_caps['platformVersion'] = '4.4.2' desired_caps['deviceName'] = 'Android Emulator' desired_caps['appPackage'] = 'com.android.calculator2' desired_caps['appActivity'] = '.Calculator' driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps) driver.find_element_by_name("1").click() driver.find_element_by_name("5").click() driver.find_element_by_name("9").click() driver.find_element_by_name("delete").click() driver.find_element_by_name("9").click() driver.find_element_by_name("5").click() driver.find_element_by_name("+").click() driver.find_element_by_name("6").click() driver.find_element_by_name("=").click() driver.quit()























这里能够看到须要已知apk包名,以及启动加载的activity

附:如何启动APP(获取包名、获取launchActivity)

方式一:有APP的apk文件时框架

参照:http://www.cnblogs.com/yoyoketang/p/6128735.htmlide

如何启动APP呢,首先要获取包名、获取launchActivity. 此处使用SDK自带的实用工具aapt:工具

一、下载aapt布局

    1.在android-sdk里面双击SDK-manager,下载buidl-tools                      

    2.勾选build-tools,随便选一个版本,我这里选的是25的版本

    3.下载完成后,在D:\androidsdk\android-sdk-windows\build-tools\24.0.0目录下找到aapt.exe,将这个路径设置环境变量,添加到path下

    4.打开cmd 输入aapt出现帮助信息,说明环境OK了

 

 

 

 

二、获取apk包名

1.将准备测试的APK放到D盘某个目录,如D:\test

2.打开cmd 输入指令aapt要访问的apk包:

aapt dump badging D:\test\android_v1.1.apk

 3.以此,能够看到apk的包名:com.slifev30

C:\Users\Lenovo>cd D:\android-sdk_r24.0.2-windows\android-sdk-windows\build-tools\25.0.2

C:\Users\Lenovo>d:

D:\android-sdk_r24.0.2-windows\android-sdk-windows\build-tools\25.0.2>aapt dump badging F:\android_v0.1.apk

package: name='com.slifev30' versionCode='36' versionName=v0.1' platformBuildVersionName='7.1.1' install-location:'preferExternal' sdkVersion:'14' targetSdkVersion:'22' uses-permission: name='android.permission.READ_EXTERNAL_STORAGE'

三、获取launcherActivity

1.接着上一步操做,cmd屏幕拖到中间找到launcherActivity

2.这里能够看到,app的launcherActivity值:为com.smartlifev30.activity.GuideActivity

launchable-activity: name='com.slifev30.activity.GuideActivity'  label='' icon=''feature-group: label=''
  uses-feature: name='android.hardware.camera'

方式二:无APP的apk文件

参照:虫师 http://www.cnblogs.com/fnng/p/7350900.html

这种方法也比较简单,主要针对你没有.apk包的状况,好比Android原生自带的APP(计算器、通信录、短信...),能够经过adb 命令。

1,打开APP。

2,执行> adb logcat>F:/log.txt

3, 胡乱的对APP作一些操做。

4, Ctrl+c 结束adb命令。

5, 打开F:\log.txt文件,搜索:Displayed 

附  用uiautomatorviewer 获取UI的元素信息

参照:http://www.cnblogs.com/lazytest/p/5612709.html

在Android的SDk提供了如下的工具来支持咱们进行UI自动化测试:

uiautomatorviewer:用来扫描和分析Android应用程序的UI控件的工具。

uiautomator:一个包含建立测试、执行自动化测试API的java库。

要使用这些工具,你必须安装Android开发工具如下版本:

Android SDK Tools:API 21 版本或者21以上版本;

Android SDK Platform:API 16 版本或者16以上版本.

在你开始写测试用例以前,使用uiautomatorviewer能够帮助你熟悉你的UI组件(包括视图和控件)

在 ..\sdk\tools\ 目录下打开 uiautomatorviewer.bat (打开前请手机链接电脑,手机开启USB调试)

 

----Android APP五大布局介绍------------
做者:Carson_Ho
连接:http://www.jianshu.com/p/4fac6304d872
來源:简书

在Android中,共有五种布局方式,分别是:

  • FrameLayout(框架布局)
  • LinearLayout(线性布局)
  • AbsoluteLayout(绝对布局)
  • RelativeLayout(相对布局)
  • TableLayout(表格布局)

1. FrameLayout框架布局

  • 布局特色:放入其中的全部元素都被放置在最左上的区域,并且没法为这些元素指定一个确切的位置,下一个子元素会重叠覆盖上一个子元素
  • 应用场景:适合浏览单张图片。

2. LinearLayout线性布局

  • 布局特色:放主要提供控件水平或者垂直排列的模型,每一个子组件
    都是以垂直或水平的方式来线性排布.(默认是垂直)
  • 应用场景:最经常使用的布局方式

    linearLayout中有一个重要的属性 android:layout_weight="1",这个weight在垂直布局时,表明行距;水平的时候表明列宽;weight值越大就越大。

3. AbsoluteLayout绝对定位布局

  • 布局特色:采用坐标轴的方式定位组件,左上角是(0,0)点,往右x轴递增,往下Y轴递增,组件定位属性为android:layout_x和 android:layout_y来肯定坐标。
  • 应用场景:准肯定位空间位置

    因为Android手机的屏幕尺寸、分辨率存在较大差别,使用AbsoluteLayout没法兼顾适配问题,因此该布局已通过时

4. RelativeLayout相对布局

  • 布局特色:为某一个组件为参照物,来定位下一个组件的位置的布局方式。
  • 应用场景:控件之间存在相应关系(适配神器,推荐使用)

5. TableLayout表格布局

  • 布局特色:相似Html里的Table.使用TableRow来布局,其中TableRow表明一行,TableRow的每个视图组件表明一个单元格。
  • 应用场景:控件之间存在相应关系。

这五个布局元素能够相互嵌套应用,作出美观的界面。

相关文章
相关标签/搜索