浮动视图的Android测试
我在WindowManager中添加了一个浮动视图,并使其在屏幕上移动,我可以在单击此视图时执行单击事件,一切正常 但是,我不知道如何在espresso或UIAutomator中访问此视图 将视图添加到WindowManager 浮动视图 rect中的白蓝色图标是我所说的浮动视图 问题: 浮动视图响应一个click事件,并执行一些任务,现在我想在AndroidJunit测试中这样做浮动视图的Android测试,android,android-testing,android-espresso,android-uiautomator,Android,Android Testing,Android Espresso,Android Uiautomator,我在WindowManager中添加了一个浮动视图,并使其在屏幕上移动,我可以在单击此视图时执行单击事件,一切正常 但是,我不知道如何在espresso或UIAutomator中访问此视图 将视图添加到WindowManager 浮动视图 rect中的白蓝色图标是我所说的浮动视图 问题: 浮动视图响应一个click事件,并执行一些任务,现在我想在AndroidJunit测试中这样做 浓缩咖啡 我尝试了浓咖啡,使用onView方法,但测试用例: onView(withContentDescr
- 浓缩咖啡
onView(withContentDescription("bugtags_fab_des_normal")).perform(click());
获取:
- 智能自动机
实际上,我正在使用一个名为的sdk,它是一个用于应用程序错误报告和崩溃分析的简单工具。在您的
浮动视图中添加onClickListener
您的视图不在活动中,因此可以使用inRoot()
方法找到它:
@Test
public void checkClickOnFloatingButton() {
onView(withContentDescription("bugtags_fab_des_normal")).inRoot(withDecorView(not(is(getActivity().getWindow().getDecorView())))).perform(click());
}
在这段代码中,您可能还应该将reportImage
更改为floatingView
:
ImageView floatingView = new ImageView(mContext);
reportImage.setContentDescription("bugtags_fab_des_normal"); // <---`reportImage` to `floatingView`
mWindowManager.addView(floatingView, layoutParams);
ImageView floatingView=新的ImageView(mContext);
reportImage.setContentDescription(“bugtags_fab_des_normal”);//对不起,你没有理解我的问题,我想在浓缩咖啡中访问这个,你能提供android.support.test.espresso.NoMatchingViewException的完整日志吗?嗨,我已经附加了测试用例和输出日志。嗨!您是如何实现浮动按钮并处理其上的单击事件的?请提供我它的代码或链接到教程请!令人惊叹的!它就像一个符咒!我想问一个问题,为什么我应该使用withDecorView(not()),这里not()的意思是什么?也许,它在没有withDecorView(not())
的情况下可以工作。我没有试过。它是另一个项目的副本。但正如我所记得的(我可能错了),使用这种方法,我们没有在活动中搜索视图,从而减少了测试时间。好的,我将进一步了解它。赏金将在22小时后发给你。是否可以使用UIAutomator找到此视图?
@Test
public void testInvoke() {
onView(withContentDescription("bugtags_fab_des_normal")).perform(click());
}
@Test
public void checkClickOnFloatingButton() {
onView(withContentDescription("bugtags_fab_des_normal")).inRoot(withDecorView(not(is(getActivity().getWindow().getDecorView())))).perform(click());
}
ImageView floatingView = new ImageView(mContext);
reportImage.setContentDescription("bugtags_fab_des_normal"); // <---`reportImage` to `floatingView`
mWindowManager.addView(floatingView, layoutParams);