我的新浪微博:http://weibo.com/u/1602714773 CSDN博客:http://blog.csdn.net/hunterno4

android自动化测试之用robotium实现微博绑定

上一篇 / 下一篇  2013-04-18 21:47:21 / 个人分类:robotium

利用robotium实现微博的自动绑定

android应用进行微博绑定主要有两种方式,一种客户端实现个webView,请求微博默认的授权页,另一种则是直接调用微博客户端,这里实现的为前一种,即进和微博默认的授权页,输入用户名密码,然后登录。

主要过程:点击微博绑定按钮“立即绑定”,客户端进入授权页,输入用户名及密码,点击“登录”,微博绑定后按钮状态变为“解除绑定”,点击可解除绑定。

主要问题:客户端显示的微博授权页查看不到源码,无法知道其网页元素。

解决:使用SQLite编辑器查看客户端应用的本地数据库,一般webview的缓存数据存在于webviewCache.db数据库下cache表中,导出其网址,在浏览器中打开即可查看其源码。

  1. public void test01_Sina() throws Exception {  
  2.     //进入微博绑定模块  
  3.     View textView=solo.getCurrentActivity().findViewById(R.id.?);  
  4.     solo.clickOnView(textView);  
  5.     solo.sleep(1000);  
  6.     //获得当前按钮的显示状态,未绑定时显示“立即绑定”,绑定后显示“解除绑定”  
  7.     TextView sinaTV=(TextView)solo.getCurrentActivity().findViewById(R.id.?);  
  8.     String bindingSina=sinaTV.getText().toString();  
  9.     String bindingNowSN=sinaTV.getResources().getString(R.string.?);  
  10.     String unBindingSN=sinaTV.getResources().getString(R.string.?);  
  11.     //判断若还未绑定,则点击“立即绑定”  
  12.     if (bindingSina.equalsIgnoreCase(bindingNowSN)){  
  13.         solo.clickOnView(sinaTV);  
  14.         solo.sleep(25000);  
  15.         solo.assertCurrentActivity("Expected ?Activity""?Activity");  
  16.         //在授权页面输入用户名密码  
  17.         solo.enterTextInWebElement(By.name("userId"), "your username");  
  18.         solo.enterTextInWebElement(By.name("passwd"), "your passwd");  
  19.         solo.clickOnWebElement(By.className("btnP"));  
  20.         solo.sleep(15000);  
  21.         //断言,若此时textView文本已变成“解除绑定”,则用例执行成功  
  22.         assertEquals(true,sinaTV.getText().toString().equalsIgnoreCase(unBindingSN));  
  23.     }  
  24.     else{  
  25.         View backImage=solo.getCurrentActivity().findViewById(R.id.?);  
  26.         solo.clickOnView(backImage);  
  27.         solo.assertCurrentActivity("Expected ?Activity""?Activity");  
  28.     }  
对于采用同样默认授权页方式的腾讯微博、人人网亦可以用类似方法实现自动绑定与解除绑定。

TAG: Android android 微博绑定 Robotium robotium 自动化 自动化测试

hunterno4的个人空间 引用 删除 hunterno4   /   2013-04-24 10:41:08
呃,哪块不清楚呢
莱格水银 引用 删除 lobster   /   2013-04-23 08:07:34
代码片段 没有看懂
 

评分:0

我来说两句

Open Toolbar