Appium是个好东东,Android,iOS都支持,并且居然RobotFramework也支持Appium了,这就是本文要介绍的AppiumLibrary. 通过前面的文章大家知道可以使用多种语言来写Appium的测试脚本,但如果从编写效率和学习曲线上来说,当然是用如RobotFramework的关键字的方式最为简单,所以AppiumLibrary就出现了,从Appium官网可知最新的版本是1.2.5,在官网有其介绍和如何安装,为了方便不喜欢看英文的朋友,下面我把安装的方法简单介绍下. App…
万事具备,只欠编码! 下面看一个简单的示例,这个示例验证Android手机自带的通讯录的添加联系人的操作是否成功.这个例子是Appium官网自带的示例,有兴趣的同学也可以自己下载来研究和学习,下载地址:示例代码下载 首先请看resource.txt文件的代码: *** Settings *** Library           AppiumLibrary *** Variables *** ${REMOTE_URL}     http://localhost:4723/wd/hub ${PLA…
一.启动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/…
前言:关于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.研究测试和项目中的软件产品: 2.明确哪些测试需自动化 3.制定自动化测试…
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的网页,后来才推出真正的原生应用.再彻底一点的,如掌上百度和淘宝客户…
app中有webview的情况 手机淘宝的天猫国际页面是一个webview robotframework代码: *** Settings *** Suite Setup Suite Teardown Library AppiumLibrary *** Variables *** *** Test Cases *** 手机淘宝 Open Application http://localhost:4723/wd/hub platformName=Android platformVersion=19…
前一篇文章是写 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…
background会根据ImageView组件给定的长宽进行拉伸,而src就存放的是原图的大小,不会进行拉伸. src是图片内容(前景),bg是背景,可以同时使用. 此外:scaleType只对src起作用:bg可设置透明度,比如在ImageButton中就可以用android:scaleType控制图片的缩放方式,示例代码如下: <ImageView android:id="@+id/img" android:src="@drawable/logo" an…
Android记录4--自定义ToggleButton+用SharedPreferences保存用户配置 2013年8月14日Android记录 很多应用都会有用户设置,用户的一些偏好可以由用户来决定那是应用人性化的体现,在实际开发中很多情况都作成可配置的了,本篇博客要介绍的是一个比较炫的状态按钮切换,我想很多开发者都想做出这样的效果,在这里我也就把自己参与的项目当中的这部分实现,做出Demo来于朋友们分享. 没有图,我感觉就特别不舒服:     这样看没办法看出效果,如果能做出动态图就好了,下…
问:Android Studio中有没有类似于Eclipse中的ctrl+2+L的快捷键? 答:有,as中的快捷键是Ctrl+Alt+V AndroidStudio和Eclipse常用快捷键对比 功能 AndroidStudio Eclipse 代码提示 ctrl+alt+space/ctrl+shift+space alt+/ 快速修复(Quick Fix) alt+enter ctrl+1 快速生成代码 alt+insert alt+shift+s 代码参数提示 ctrl+p alt+/ 整…
Android 当打开"开发人员模式"中的"不保留活动"后,程序应当怎么保持正常执行咧. .? 在这几天,我一直在纠结这个问题.从发现,程序出现这个问题,是由于"开发人员模式"中的"不保留活动"被打开了,到怎么获取"不保留活动"的值. 发现"不保留活动",是从京东客服端获得的灵感 得到"不保留活动"的值.是查看了Android原声的APP,Settings应用程序,查…
Android For JNI(二)--C语言中的数据类型,输出,输入函数以及操作内存地址,内存修改器 当我们把Hello World写完之后,我们就可以迈入C的大门了,今天就来讲讲基本的一些数据类型,函数之内的 我们先来看一张传播久远的图片' 一.各种数据类型介绍 整型 整形包括短整型.整形和长整形. 短整形 short a=1; 整形 一般占4个字节(32位),最高位代表符号,0表示正数,1表示负数,取值范围是-2147483648~2147483647,在内存中的存储顺序是地位在前.高位在…
Android 用于异步加载 ContentProvider 中的内容的机制 -- Loader 机制 (LoaderManager + CursorLoader + LoaderManager.LoaderCallbacks) 关于Android Loader 的文章,百度一搜搜出了一大把.笔者看了好多篇,都吧唧吧唧讲了很多 异步 的好处.但笔者看完后,还是一头雾水,实现异步加载的方式 不是已经有了 Thread + Handle 或者 AsyncTask 等很多机制了吗?(可参考: http…
方法一:使用Android SDK中的签名工具给apk签名: (1)Android源码的 build/target/product/security/ 目录下有 media.pk8.media.x509.pem.platform.pk8.platform.x509.pem.shared.pk8.shared.x509.pem.testkey.pk8.testkey.x509.pem等签名文件,不同的签名文件对应不同的权限,Android默认的签名文件为testkey.pk8.testkey.x5…
Android开发---如何操作资源目录中的资源文件4 XML,位于res/xml/,这些静态的XML文件用于保存程序的数据和结构. XmlPullParser可以用于解释xml文件 效果图: 描述: 点击按钮,显示图二信息 1.activity_main.xml 描述:定义了一个按钮 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://sc…
Android开发---如何操作资源目录中的资源文件3 效果图 1.圆角边框 2.背景颜色渐变效果 1.activity_main.xml 描述: 定义了一个shape资源管理按钮 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id=&q…