- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试过这个测试,但 getHits() 总是返回 0。任何人都可以帮助我吗?
public void testSettingsAboutShazamClickOnLink() {
Instrumentation inst = getInstrumentation();
IntentFilter intentFilter = new IntentFilter(android.content.Intent.ACTION_SENDTO);
intentFilter.addDataScheme("mailto");
ActivityMonitor monitor = inst.addMonitor(intentFilter, null, false);
final Intent emailIntent = new Intent(android.content.Intent.ACTION_SENDTO);
emailIntent.setData(Uri.parse("mailto:"));
emailIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
assertEquals(0, monitor.getHits());
inst.getContext().startActivity(emailIntent);
monitor.waitForActivityWithTimeout(5000);
assertEquals(1, monitor.getHits());
inst.removeMonitor(monitor);
}
最佳答案
我解决了这个问题。我用的是Robotium的Solo,显然Solo插入了一个ActivityMonitor匹配每个Filter,所以当你调用startActivity时,它会调用Instrumentation类中的execStartActivity,其代码是
Context who, IBinder contextThread, IBinder token, Activity target,
Intent intent, int requestCode) {
IApplicationThread whoThread = (IApplicationThread) contextThread;
if (mActivityMonitors != null) {
synchronized (mSync) {
final int N = mActivityMonitors.size();
for (int i=0; i<N; i++) {
final ActivityMonitor am = mActivityMonitors.get(i);
if (am.match(who, null, intent)) {
am.mHits++;
if (am.isBlocking()) {
return requestCode >= 0 ? am.getResult() : null;
}
break;
}
}
}
}
一旦有一个 ActivityMonitor 与某物相匹配,该监视器的 mHits 就会增加,结束“循环”中断。鉴于调用 Solo 是我做的第一件事,第一个要检查的 ActivityMonitor 是 Solo 之一,因为它匹配所有内容,在未检查之后添加的任何其他 ActivityMonitors,因此其他监视器不会增加 mHits 变量。如果您想了解更多信息,请参阅 Instrumentation 类的 execStartMonitor 方法,记住该方法是在调用 startActivity 之后调用的。
关于java - ActivityMonitor getHits() 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13566967/
我试过这个测试,但 getHits() 总是返回 0。任何人都可以帮助我吗? public void testSettingsAboutShazamClickOnLink() { Instr
测试代码如下: Instrumentation inst = getInstrumentation(); IntentFilter intentFilter = new IntentF
我有一个使用 ActivityMonitor 等待 Activity 开始的测试,例如 // ins is an instance of the Instrumentation class. Inst
我有一个使用 Instrumentation.ActivityMonitor 来检查 Intent 是否已发送的测试用例。当测试成功时,这工作正常。如果断言失败,下一个测试用例将挂起在 setUp()
我有一个简单的测试用例,用于测试是否在单击按钮时启动拨出电话。 public void testCalling(){ IntentFilter callFilter = new IntentF
我正在为启动设备默认邮件客户端的 Activity 编写 JUnit 测试。我想验证“发送到” Activity 是否已启动,然后将点击事件发送到“发送”按钮。 我确实设置了一个带有 Intent 过
我正在使用 Google 推荐的 Android 测试框架:ActivityInstrumentationTestCase2。我在 RANDOM 测试运行中一直遇到以下错误,但持续死亡。这意味着有时所
我是一名优秀的程序员,十分优秀!