如何验证重定向到Google Play商店

时间:2013-10-25 21:07:02

标签: robotium

使用Robotium,如何检查重定向到Google Play商店?

步骤:

  1. 点击测试应用中列表视图中的链接。
  2. 确认重定向到Google Play商店。
  3. 我注意到,当Google Play商店开放时,我的测试应用程序实际上也在下面打开。 (我打印出所有观点)

    因此,我不能做“从测试应用程序断言xyz视图不存在”。

    如何检查重定向到Google Play?

1 个答案:

答案 0 :(得分:0)

有可能吗?很遗憾,机器人很难轻易做到这一点,这是因为机器人跟踪当前活动的方式,如果你使用直接仪器,就像在点击之前设置一个意图过滤器一样容易启动游戏商店的视图/执行操作,然后您可以断言您的过滤器实际上已被命中(这证明如果您没有过滤器,则实际上会启动Google Play商店。)

当你使用机器人时,你不能这么容易地做到这一点,因为机器人已经有一个匹配所有东西的意图过滤器,所以这意味着你将不得不用反射做一些可怕的事。

您需要做的是:

获取名为mActivityMonitors的检测类的私有成员,在此活动监视器列表中,您会发现其中有一个,这将是robotiums活动监视器,将其保存在某处,然后将其从列表中删除。 / p>

然后你需要添加自己的东西它看起来像测试googleplay启动(我建议在android api文档网站上阅读有关Intent过滤器)

Instrumentation inst = getInstrumentation();
IntentFilter intentFilter = new IntentFilter(Intent.ACTION_View);

ActivityMonitor monitor = inst.addMonitor(intentFilter, null, true); //true is imporant it blocks the activity from launching so that your test can continue.

assertEquals(0, monitor.getHits());

//do action that fires activity

assertEquals(1, monitor.getHits());
inst.removeMonitor(monitor);

您现在需要读取先前删除的活动监视器,以便robotium继续按预期工作。我不是在一台机器上,我可以实际测试这一切,但我之前使用过这种技术。