zoukankan      html  css  js  c++  java
  • 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");
            }
        }

    对于采用同样默认授权页方式的腾讯微博、人人网亦可以用类似方法实现自动绑定与解除绑定。

  • 相关阅读:
    VisualSVN-Server windows 版安装时报错 "Service 'VisualSVN Server' failed to start. Please check VisualSVN Server log in Event Viewer for more details."
    Pytest 单元测试框架之初始化和清除环境
    Pytest 单元测试框架入门
    Python(email 邮件收发)
    Python(minidom 模块)
    Python(csv 模块)
    禅道简介
    2020年最好的WooCommerce主题
    Shopify网上开店教程(2020版)
    WooCommerce VS Magento 2020:哪个跨境电商自建站软件更好?
  • 原文地址:https://www.cnblogs.com/dtest/p/4549291.html
Copyright © 2011-2022 走看看