万事具备,只欠编码! 下面看一个简单的示例,这个示例验证Android手机自带的通讯录的添加联系人的操作是否成功.这个例子是Appium官网自带的示例,有兴趣的同学也可以自己下载来研究和学习,下载地址:示例代码下载 首先请看resource.txt文件的代码: *** Settings *** Library           AppiumLibrary *** Variables *** ${REMOTE_URL}     http://localhost:4723/wd/hub ${PLA…
Appium是个好东东,Android,iOS都支持,并且居然RobotFramework也支持Appium了,这就是本文要介绍的AppiumLibrary. 通过前面的文章大家知道可以使用多种语言来写Appium的测试脚本,但如果从编写效率和学习曲线上来说,当然是用如RobotFramework的关键字的方式最为简单,所以AppiumLibrary就出现了,从Appium官网可知最新的版本是1.2.5,在官网有其介绍和如何安装,为了方便不喜欢看英文的朋友,下面我把安装的方法简单介绍下. App…
一.启动Appium 安装好了之后,在桌面或者菜单中找到Appium,分别双击或点击打开Appium.exe,如果一切正常,接着会出现一个Appium启动后的界面窗口,如下图所示. 1.1 Android Settings 点击左上角的第一个机器人图标,弹出Android Settings窗口,如下图所示. 在该窗口可以对将要进行测试的Android应用进行设置,因为接下来我们写脚本来跑测试,所以可以统统不进行设置,保持其默认值即可.如果不在脚本中设置,则需要在这里设置下,不过大部分保持默认值即…
让我们开始在Windows中开始安装Appium吧,Appium在OS X中的具体安装后面的文章会介绍. 另外,官网上说先要装Node.js,还要装Apache Ant和Apache Maven,Git以及cURL,不过我的经验是这些不是必须的,可以不装,当以后需要时再装也不迟,这样一开始安装比较容易和上手. 废话少说,直接开始安装步骤: 1.安装android的sdk包,(http://developer.android.com/sdk/index.html), 运行依赖sdk中的'andro…
如果测试用例比较多,则当持续运行多个测试用例后,经常会出现模拟器崩溃或者Appium无法连接到该模拟器的情况出现. 经过分析,本人认为这应该是模拟器或者Appium的缺陷造成的,目前并没有直接的解决方案. 不过可以曲线救国,我的解决方案是:在开始测试时启动模拟器,在测试结束后关闭模拟器,这样虽然需要更多的时间,但这个问题确实不再出现了,时间有的是,可以让其在夜间自动启动执行就可以了. 在Settings中加入Process库,这个库是Robotframework自带的,写明即可. *** Set…
可能很多朋友已经迫不及待的想要用RobotFramework+AppiumLibrary来写Android App的测试脚本了,那我们也废话少说,直接开始. 首先打开RIDE,这是编写RobotFramework测试脚本的集成环境,如果没有则先安装好,当然RobotFramework也要安装好,这些大家可以在网上查找相关的资料来解决如何安装的问题. 其次,新建一个resource.txt文件,这个文件是用来放置共用的脚本的,之后点击Edit选项卡,再点击右侧的Library按钮用于添加Appiu…
万事具备,接下来我们就要开始编写测试脚本了. 不过,有个重要的问题还没有解决.我们知道RobotFramework在web 网页中主要依靠元素的id,name或者xpath来定位页面上的元素,我们依赖浏览器的插件firepath来做到这一点,但在Android应用中,怎么定位页面上的元素呢?现在,这个关键的工具就该出场了,它就是uiautomatorviewer.bat,这个工具位于%ANDROID_HOME%\tools目录下,双击运行它. 如果模拟器还没有启动,也把它启动起来,等模拟器启动完…
Appium+Robotframework实现iOS应用的自动化测试 连接地址: 地址:https://blog.csdn.net/wd168/article/month/2016/06 1.https://blog.csdn.net/wd168/article/details/51740693 2.https://blog.csdn.net/wd168/article/details/51740713 3.https://blog.csdn.net/wd168/article/details/…
开发工具 我用的是eclipse,目前这是开发android用的最多的一个工具. 开发准备 首先需要在百度地图开发平台上下载所需要的文档和功能,由于最新版的3.0.0的不是很熟悉,我这里用的是稍旧一点的版本:2.4.1版的:这里是下载地址:http://developer.baidu.com/map/sdkandev-download.htm.我是在这个页面的右下角点击历史版本下载的2.4.1版的: 下载之后它里面有这样一个压缩文件: 解压开之后是这样的三个压缩包: 其中Sample是它的Dem…
appium 安装和python 安装好后. 1.      启动android模拟器--Genymotion-点击Start 2.      启动appium 3.     运行代码. # -*- coding: utf-8 -*-from selenium import webdriverfrom selenium.webdriver import DesiredCapabilitiesfrom selenium.common.exceptions import TimeoutExcepti…
怎样管理当前的执行Activity栈,怎样彻底退出程序.本文封装了一个Activity管理类,能够方便随时退出程序. import java.util.Stack; import android.app.Activity; import android.content.Context; public class ActivityManager { private static Stack<Activity> activityStack; private static ActivityManag…
用一个集合类对所有的Activity进行管理,实现随时控制Activity.用add(Activity activity)方法向List中添加Activity,用remove(Activity activity)方法从List中移除Activity,用finishProgram()方法将List中所有Activity移除并退出程序 import java.util.ArrayList; import java.util.List; import android.app.Activity; imp…
结果如图: XML文件如下: <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/container" android:layout_width="match_parent" android:layout…
android.util.Log类,可以方便地用于在编码调试过程中打印日志.但是在发布后的产品中,如果有太多的日志打印,则会严重地影响性能.对android.util.Log类做一个简单的封装,当产品要发布的话,将Debug设为false. 代码如下. public class LogUtil { /**正式上线時候设为false*/ private final static boolean debug = true; private final static String TAG = "oyp…
android.util.Log类,能够方便地用于在编码调试过程中打印日志. 可是在公布后的产品中,假设有太多的日志打印.则会严重地影响性能. 对android.util.Log类做一个简单的封装.当产品要公布的话,将Debug设为false. 代码例如以下. public class LogUtil { /**正式上线時候设为false*/ private final static boolean debug = true; private final static String TAG =…
简单监听事件 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 package com.example.anima…
前言:关于RobotFrameWork+APPIUM实现对安卓APK的自动化测试的文章都是取自于乐于分享知识于网络的好心人们,所以我也希望我的知识可以分享给大家. 首先我们先罗列一下我们要安装的软件 1. JDK ,本人用的是1.7的版本; 2. SDK; 3. Appium; 4. Python27; 5. wxPython,科普:wxPython是Python语言的一套优秀的GUI图形库; 6. RobotFrameWork; 7. Ride 1.5; 8. Selenium 2.47; 9…
文章来源http://blog.csdn.net/deadgrape/article/details/50563119 前言:关于RobotFrameWork+APPIUM实现对安卓APK的自动化测试的文章都是取自于乐于分享知识于网络的好心人们,所以我也希望我的知识可以分享给大家.首先我们先罗列一下我们要安装的软件1. JDK ,本人用的是1.7的版本;2. SDK;3. Appium;4. Python27;5. wxPython,科普:wxPython是Python语言的一套优秀的GUI图形…
appium+robotframework环境搭建步骤(Windows系统的appium自动化测试,只适用于测试安卓机:ios机需要在mac搭建appium环境后测试) 搭建步骤,共分为3部分: 一.RF环境搭建 robotframework的搭建,参考微信公众号:RobotFramework 顺序 安装包名 安装方法 下载地址 备注 1 python 1.exe文件,直接双击默认安装 2.安装完设置Python环境变量:将"D:\Python27"和"D:\Python27…
appium执行用例时报错问题: 问题解析: 一般该种情况都是因为来连接了多个设备,验证办法:cmd->执行adb devices  看结果是否是多个devices ,如果是这个问题,停掉多余设备,剩余一个设备就可以了. android真机自动化测试 1.appium相关安装(eclipse下)见http://www.cnblogs.com/wangcp-2014/p/5717589.html参考selenium的安装 1.1appium的安装除了selenium安装的东西外 还需要再切换到E:…
在上篇文章中,我们搭建好了appium+robotframework的环境,这篇文章中主要是一个简单实例. 一.测试用例编写前提 1.模拟器(或手机)连接电脑 adb devices                     查看设备是否已经连接电脑 adb connect 设备型号        把测试设备与电脑连接(夜神模拟器对应的设备型号:127.0.0.1:62001) 2.启动appium server cmd窗口中,输入appium,即可启动 二.测试用例编写步骤 1.创建测试项目 F…
1.Native App自动化测试及Appuim框架介绍 android平台提供了一个基于java语言的测试框架uiautomator,它一个测试的Java库,包含了创建UI测试的各种API和执行自动化测试的引擎.如果想使用uiautomator去做App自动化测试的话,需要去学习java语言,本文分享的主题是基于python的,那么如何使用python来控制App呢?就需要借助本文将要讲到的框架appium.见下图,用python脚本去控制appium,appium再控制uiautomator…
1.Hybrid App自动化测试概要 什么是Hybrid App? Hybrid App(混合模式移动应用)是指介于web-app.native-app这两者之间的app,兼具“Native App良好用户交互体验的优势”和“Web App跨平台开发的优势”. 它虽然看上去是一个Native App,但只有一个UI WebView,里面访问的是一个Web App,比如街旁网最开始的应用就是包了个客户端的壳,其实里面是HTML5的网页,后来才推出真正的原生应用.再彻底一点的,如掌上百度和淘宝客户…
一.常用识别元素的工具 uiautomator:Android SDK自带的一个工具,在tools目录下 monitor:Android SDK自带的一个工具,在tools目录下 Appium Inspector:Appium自带的一个功能,只有mac下可以使用该功能   下面是用monitor抓取到的页面元素     下面使用Appium Inspector定位的元素   二.元素定位   1.格式:find_element_by_定位方式(value)   通过id定位 (取resource…
前一篇文章是写 Android 自己的自动化测试(1)如何安装和卸载应用程序(java) ,以下再探索一下假设在普通java应用程序中,依据ID来查找对象 1.类库依赖: The library dependencies are: chimpchat.jar,common.jar,ddmlib.jar,guava-13.0.1.jar,sdklib.jar,hierchyviewer2lib.jar They can all be found in the sdk/tools/lib subdi…
大约Android自己的自动化测试UI测试,前出台Android 自己主动化測试(4)<uiautomator>, 在android原生的单元測试框架上,利用uiautomator.jar这个类库来完毕Android的界面上的測试.这已经使得測试比較简单了.但还有更加简单的写測试的方式,那就是利用一些第三方的測试框架,比方robotium. Android的第三方的測试框架,有Robolectric 和 robotium.我试着用了下.认为robotium已经很好用了. 1.概要      …
6.Appuim自动化测试框架API讲解与案例实践(三) 如图1,可以在主函数里通过TestSuite来指定执行某一个测试用例: 6.1,scroll():如图2 从图3中可以看到当前页面的所有元素resource_id都是相同的,所以不能通过resource_id来定位元素,这里选择by_class_name方法来获取元素列表的方式,然后向scroll(object1,object2)中传入两个列表中值: 6.2,drag()_and_drop():选中某个元素并拖拽到某个元素的位置:如图4,…
windows不支持appium连接ios,只适用于mac 使用Appium进行iOS的真机自动化测试 安装类库 Homebrew 如果没有安装过Homebrew,先安装[ homebrew ] npm 如果没有安装npm,请移步 [ node.js和npm安装 ] 安装依赖库 brew install libimobiledevice --HEAD sudo npm install -g ios-deploy --unsafe-perm=true 如果执行sudo npm install -g…
最近一直在忙,终于有时间来整理一下,传一个简单的用例,运行之后可以看到用例的报告,希望对大家有帮助. HTMLTestRunner这个包网上有很多,大家可以自己下载. 1 import unittest from appium import webdriver from time import sleep import os import tempfile from PIL import Image import HTMLTestRunner import time class LitterTe…
这是一个简单的appium脚本,测试amazon购物过程的,过程包括搜索商品,然后从结果列表中选取中意的商品,然后加入购物车,等等. 它是一个最原始的脚本,对测试元素.数据.报告等未作任何的封装,后面计划把它合并到现有的webdriver的web测试框架里去. 运行中终于到的问题: 1.genymotion模拟器上执行有点延迟,脚本命令发出后大概3秒模拟器上才有反应: 2.在输入搜索条件后,执行回车命令,执行的效果是退格键(backspace),百撕不得骑姐啊: 3.再就是非原生对象的识别了,比…