用AS使用Uiautomator自动化测试QQ

写一个简单的例子,我们完成一个 ” 打开QQ,进入QQ空间,然后退出 ” 的case。
代码如下:

package waps.cn.testuiautomator;

import android.support.test.uiautomator.UiAutomatorTestCase;
import android.support.test.uiautomator.UiDevice;
import android.support.test.uiautomator.UiObject;
import android.support.test.uiautomator.UiObjectNotFoundException;
import android.support.test.uiautomator.UiSelector;

import java.io.IOException;

/**
 * Created by Lisa on 2017/1/24.
 */
public class Test_qq extends UiAutomatorTestCase{
    public void testQQ() throws IOException, UiObjectNotFoundException {

        Runtime.getRuntime().exec("am start com.tencent.mqq/com.tencent.mqq.SplashActivity");
        sleep(3000);

        UiDevice device = getUiDevice();
        int width = device.getDisplayWidth();
        int height = device.getDisplayHeight();
        device.click(width - 50, height - 50);
        sleep(1000);

        UiObject object1 = new UiObject(new UiSelector().resourceId("com.tencent.mobileqq:id/qzone_feed_entry"));
        object1.click();
        sleep(3000);

        UiObject object2 = new UiObject(new UiSelector().resourceId("com.tencent.mobileqq:id/ivTitleBtnLeft"));
        object2.click();
        sleep(1000);

        device.pressMenu();
        sleep(1000);

        UiObject object3 = new UiObject(new UiSelector().text("退出QQ"));
        object3.click();
        sleep(1000);

        UiObject object4 = new UiObject(new UiSelector().text("确定"));
        object4.click();
        sleep(1000);


    }
}

照着网上的例子写,写完之后总是报错说用到的id找不到。之后找到了原因:
//需要先把打开QQ,然后通过am start 才能找到之后用到的resourceId,否则报错id找不到。
如果不打开QQ只能用下面的方式:
getUiDevice().pressHome(); //注意:需要把QQ移到手机的主屏幕上才能找到QQ
UiObject wx = new UiObject(new UiSelector().text(“QQ”));
wx.clickAndWaitForNewWindow();

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值