开始一个Android的appium实例

1.查看Android的应用包名和activity的方法

(网上有很多种方法,这里应用的是查看日志的方法)

CMD中输入>adb logcat -c

>adb logcat ActivityManager:i *:s

然后操作模拟器中要测试的应用,查看日志,结果如下,cmp=应用包名/Activity

参考文件:http://blog.csdn.net/jlminghui/article/details/40622103

2.定位元素

Android SDK的一些工具可以帮助定位,在Android SDK安装目录的tools下

1.monitor.bat:找到Android控件的content-description,方便定位

2.uiautomatorviewer.bat:查看控件的属性,也可查看被测app的appPackage

说明:这两个工具都只支持API level16以上的系统,如果低于这个版本,这两个工具是不能使用的

下图是如果有多台机器的情况下怎么选择要获取的机器:

(uiautomator的使用方法:http://blog.csdn.net/chenbang110/article/details/23371731)

其他方法:使用appium的inspector来定位元素,具体使用方法链接可以参见我的另一篇随笔http://www.cnblogs.com/meitian/p/4837938.html

3.开启appium,launch(右侧的小三角)

4.编写测试用例,执行用例脚本,完成一个appium实例

(在执行测试脚本前,一定要保证开启了appium和模拟器)

代码:

from appium import webdriver
import time

#以下为启动session时的desired capabilities的设置
desired_caps = {}
desired_caps[‘platformName‘] = ‘Android‘
desired_caps[‘platformVersion‘] = ‘18‘
desired_caps[‘deviceName‘] = ‘emulator-5554‘

#desired_caps[‘app‘]=‘D:\software\Android\APPS\com.tencent.mm_621.apk‘,这个是要安装的app的安装包地址,不是必须的,有#这个项的话会先通过这个地址安装app,我没有用这个,直接用的Package名和activity名

desired_caps[‘appPackage‘] = ‘com.android.calculator2‘
desired_caps[‘appActivity‘] = ‘.Calculator‘

#以下为启动driver,以及定位元素和操作元素的一些用例操作
driver = webdriver.Remote(‘http://127.0.0.1:4723/wd/hub‘, desired_caps)
time.sleep(5)
driver.find_element_by_id("com.android.calculator2:id/digit1").click()
time.sleep(2)
driver.find_element_by_id("com.android.calculator2:id/plus").click()
time.sleep(2)
driver.find_element_by_id("com.android.calculator2:id/digit2").click()
time.sleep(2)
driver.find_element_by_id("com.android.calculator2:id/equal").click()
time.sleep(2)
test = driver.find_element_by_class_name("android.widget.EditText").text
print(test)
assert test == 3
driver.quit()

desired capabilities的设置时的一些项说明:

其他注意点:

1.如果有多台模拟器,appium的Android settings中的launch device里选择的launch VAD会影响到启动的模拟器,我代码里设置的是启动platformVersion为4.3.1的模拟器,但是appium那里设置的是4.0.4,执行时会一直去找4.0.4,没有找到最后就报错了

2.低版本的Android要用selendroid

3.公司需要配置代理才可以联网,这里如果不更改启动的代理是没有办法执行用例成功的,有个简便做法,先开启fiddle,再去执行用例

时间: 2024-12-18 14:40:00

开始一个Android的appium实例的相关文章

一步一步图示开发第一个Android项目并运行 看图学Android---Android 开发实例教程二

一.生成一个Android应用工程 1.运行eclipse.exe 2.见下图 3.进入界面 4.输入 应用.项目.包名称 5.选择 项目建立的工作空间路径: 6.配置 图标和背景等特性 7.选择 Activity  的页面格式 8.设置对应名称 9.生成项目 二. 项目介绍 1.界面 可以使用工具采用拖拉的方式 拖动控件.  图形界面开发环境. 2.界面布局的代码格式 3.MainActivity.java  主程序结构   代码和视图绑定 3.代码MainActivity.java pack

Android 测试 Appium、Robotium、monkey等框架或者工具对比

1. Appium测试 (功能测试,用户接受度测试,黑盒测试) - Rating: 8 Website: http://appium.io/ Appium测试相当于黑盒测试.只是测试UI逻辑正确性.所以Appium测试框架提供的方法有限.获取一个AppiumDriver对象.该对象只是有很多findElements()的方法,获取到UI元素.UI元素是WebElement,这个类提供的方法基本是获取信息为主,比如获取name,class,tagName,location,text,isSlect

Android Fragment (二) 实例2

由于看客的要求,我就把读者所要的写出来. 由于上一篇是每一个Fragment 实例了同一个layout.xml ,造成了读者的困惑,这篇我就让每一个Fragment 加载一个不同的layout.xml. 首先我们要准备四个layout.xml ,用来给每个点击跳转页面. 第一个fg_contnet.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="

android widget 开发实例 : 桌面便签程序的实现具体解释和源代码 (上)

如有错漏请不吝拍砖指正,转载请注明出处,很感谢 桌面便签软件是android上经常使用软件的一种,比方比較早的Sticky Note,就曾很流行, Sticky Note的介绍能够參见 http://www.tompda.com/c/article/11778/ 而实际上使用android平台对widget开发的支持,桌面便签类软件是很易于开发的. 本文通过逐步实现一个简单的桌面便签软件,和大家分享进行widget开发的过程和方法. 1.MyNote的终于实现效果 为了提起大家阅读本文的兴趣,先

一个Android音频文本同步的英文有声读物App的开发过程

转发: http://segmentfault.com/a/1190000003498111 “新概念英语”.“可可英语”.“亚马逊的audible有声书”.“扇贝听力”是我目前所知道的实现英文语音和文本同步的应用.“同步”包括两方面: 被读到的单词(或句子)可以高亮显示,同步显示文本: 选中某个单词(或句子)跳到对应的音频位置播放: 想要实现同步,需要知道每个单词(或句子)在音频中的位置,称之为时间戳,类似于 if(1.905669,2.0353742) you(2.0353742,2.165

Adroid APPIUM实例步骤

1.下载eclipse 2.安装java 配置环境变量 3.eclipse 安装adt android development tools 4.android sdk manager 安装tools 和相应api的sdk版本  (安装api19,底部extras 安装了Android Support Library 和Google usb driver)  sdk管理器的下载代理用 mirrors.neusoft.edu.cn 80 这个代理还是比较快 5.创建虚拟机(AVD) 3.安装node

一个简单的appium脚本

这是一个简单的appium脚本,测试amazon购物过程的,过程包括搜索商品,然后从结果列表中选取中意的商品,然后加入购物车,等等. 它是一个最原始的脚本,对测试元素.数据.报告等未作任何的封装,后面计划把它合并到现有的webdriver的web测试框架里去. 运行中终于到的问题: 1.genymotion模拟器上执行有点延迟,脚本命令发出后大概3秒模拟器上才有反应: 2.在输入搜索条件后,执行回车命令,执行的效果是退格键(backspace),百撕不得骑姐啊: 3.再就是非原生对象的识别了,比

Android Widget 开发实例:桌面便签程序的实现详解和源码

桌面便签软件是Android上常用软件的一种,比如比较早的Sticky Note,就曾非常流行,而实际上使用android平台对widget开发的支持,桌面便签类软件是非常易于开发的. 本文通过逐步实现一个简单的桌面便签软件,和大家分享进行widget开发的过程和方法. 同时本程序提供完整的工程源码下载 免费下载地址在 http://linux.linuxidc.com/ 用户名与密码都是www.linuxidc.com 具体下载目录在 /pub/Android源码集锦/2011年/10月/An

Android进阶(二十三)Android开发过程之实例讲解

Android开发过程之实例讲解 前言 回过头来审视之前做过的Android项目,发觉自己重新开发时忽然间不知所措了,间隔了太长时间没有开发导致自己的Android技能知识急剧下降.温故而知新. 废话少说,进入正题~ 下面主要以自己之前开发过的Android小项目为例,探讨Android开发基本流程,以及其中所涉及到的原理. 项目名称为"我查查",主要的实现功能是查询.添加商品评价,分享购物体验. 主要界面如下: 图1 主功能界面 图2 查看商品信息 图3 添加新评论 图4 扫码操作