Android 自动化测试—robotium(十一) robotium实现微博绑定
利用robotium实现微博的自动绑定
android应用进行微博绑定主要有两种方式,一种客户端实现个webView,请求微博默认的授权页,另一种则是直接调用微博客户端,这里实现的为前一种,即进和微博默认的授权页,输入用户名密码,然后登录。
主要过程:点击微博绑定按钮“立即绑定”,客户端进入授权页,输入用户名及密码,点击“登录”,微博绑定后按钮状态变为“解除绑定”,点击可解除绑定。
主要问题:客户端显示的微博授权页查看不到源码,无法知道其网页元素。
解决:使用SQLite编辑器查看客户端应用的本地数据库,一般webview的缓存数据存在于webviewCache.db数据库下cache表中,导出其网址,在浏览器中打开即可查看其源码。
public void test01_Sina() throws Exception {
//进入微博绑定模块
View textView=solo.getCurrentActivity().findViewById(R.id.?);
solo.clickOnView(textView);
solo.sleep(1000);
//获得当前按钮的显示状态,未绑定时显示“立即绑定”,绑定后显示“解除绑定”
TextView sinaTV=(TextView)solo.getCurrentActivity().findViewById(R.id.?);
String bindingSina=sinaTV.getText().toString();
String bindingNowSN=sinaTV.getResources().getString(R.string.?);
String unBindingSN=sinaTV.getResources().getString(R.string.?);
//判断若还未绑定,则点击“立即绑定”
if (bindingSina.equalsIgnoreCase(bindingNowSN)){
solo.clickOnView(sinaTV);
solo.sleep(25000);
solo.assertCurrentActivity("Expected ?Activity", "?Activity");
//在授权页面输入用户名密码
solo.enterTextInWebElement(By.name("userId"), "your username");
solo.enterTextInWebElement(By.name("passwd"), "your passwd");
solo.clickOnWebElement(By.className("btnP"));
solo.sleep(15000);
//断言,若此时textView文本已变成“解除绑定”,则用例执行成功
assertEquals(true,sinaTV.getText().toString().equalsIgnoreCase(unBindingSN));
}
else{
View backImage=solo.getCurrentActivity().findViewById(R.id.?);
solo.clickOnView(backImage);
solo.assertCurrentActivity("Expected ?Activity", "?Activity");
}
}
对于采用同样默认授权页方式的腾讯微博、人人网亦可以用类似方法实现自动绑定与解除绑定。
Android 自动化测试—robotium(十一) robotium实现微博绑定的更多相关文章
- Android自动化测试-Robotium(一)简介
一.Robotium原理 Robotium是一款Android自动化测试框架,主要针对Android平台的应用进行黑盒自动化测试,它提供了模拟各种手势操作(点击.长按.滑动等).查找和断言机制的API ...
- Android 自动化测试 robotium
转:http://xiaomaozi.blog.51cto.com/925779/908886 Android 的开发可以说已经遍地都是,不说精致的app,只要看些书,看点教学视频,学习二至三个月,都 ...
- Robotium原理初步--Android自动化测试学习历程
章节:自动化基础篇——Robotium原理初步(第四讲) 主要讲解内容与笔记: 一.基于控件 1.spinner——下拉菜单 2.TabHost——左右滑动选择菜单,类似电话本 3.Gallery—— ...
- Android自动化测试工具调研
原文地址:Android自动化测试工具调研 - Stars-One的杂货小窝 Android测试按测试方式分类,可分为两种:一种是传统逻辑单元测试(Junit),另外一种则是UI交互页面测试. 这里详 ...
- 解放双手——Android自动化测试
解放程序猿宝贵的右手(或者是左手) http://blog.csdn.net/eclipsexys/article/details/45622813 --Android自动化测试技巧 Google大神 ...
- Android自动化测试框架对比
1.Monkeyrunner:优点:操作最为简单,可以录制测试脚本,可视化操作:缺点:主要生成坐标的自动化操作,移植性不强,功能最为局限:2.Rubotium:主要针对某一个APK进行自动化测试,AP ...
- Android自动化测试介绍
1.随机事件测试.通过adb命令执行测试Monkey 就是SDK中附带的一个工具, 用来做压力测试.应用程序crash 和 ANR时会产生日志. 然后根据关键字分析,就可以把应用出现的问题抓出来. 2 ...
- Android自动化测试学习路线
最近在整理Android自动化测试的相关资料,大体上把一些知识点梳理了,这里做一个简单的分享! Android里面测试相关的工具和框架太多了.你应该从以下几个方面入手. 编程语言的选择 如果你要学习的 ...
- Android 自动化测试框架
Android常用的自动化测试工具框架: Monkey,MonkeyRunner,UIAutomator,Robotium,Appium,Monkey Talk...... 但这些工具框架都是什么呢有 ...
随机推荐
- Eclipse Maven3新建web项目
环境: Eclipse Neon JDK1.8 先决条件: 本机下载apache-tomcat-8,解压,在Eclipse->preferences->server里配置安装目录.并在ec ...
- 30个要点帮你完成java代码优化
通过java代码规范来优化程序,优化内存使用情况,防止内存泄露 可供程序利用的资源(内存.CPU时间.网络带宽等)是有限的,优化的目的就是让程序用尽可能少的资源完成预定的任务.优化通常包含两方面的内容 ...
- Google 地图 API V3 之控件
Google官方教程: Google 地图 API V3 使用入门 Google 地图 API V3 针对移动设备进行开发 Google 地图 API V3 之事件 Google 地图 API V3 ...
- 移动端框架篇-控制子容器的滑屏框架-fullPage.js
控制子容器法 方法是只显示其中一个子元素,其它隐藏,滑屏时隐藏当前元素,并显示当前元素的下一个同辈元素~ 这里采用fullPage框架,库大小7.69K~ fullPage框架的页面样式无需自定义,已 ...
- bzoj1734 愤怒的牛
Description Farmer John has built a new long barn, with N (2 <= N <= 100,000) stalls. The stal ...
- 一段freemarker高级分页效果的代码
<a onclick="page(1)">首页</a> [#if currpage != 1] [#assign last=currpage - 1] &l ...
- 【阮一峰】深入研究URL编码问题及JavaScript相应的解决方案
作者: 阮一峰 日期: 2010年2月11日 一.问题的由来 URL就是网址,只要上网,就一定会用到. 一般来说,URL只能使用英文字母.阿拉伯数字和某些标点符号,不能使用其他文字和符号.比如,世界上 ...
- OOCSS的概念和思路
<概念> <思路> 面向对象的CSS有两个原则: 独立的结构和样式 独立的容器和内容 以下几点是创建OOCSS的关键部分: 创建一个组件库 独立的容器和内容,并且避免样式来依赖 ...
- C Primer Plus_第8章_字符输入输出和输入确认_编程练习
1.题略 #include <stdio.h> int main(void) { ; printf("Please enter text here(end with Ctrl + ...
- PHP面向对象讲解
面向对象 类<------>对象 面向对象例题 理解: 减少 变量的重新定义 比如 变量前的 var $ 思路更加明确 class Yuan ----后面不加() ...