小编All*_*air的帖子

Android Espresso Ui测试验证ActionPage的标签文本

我正在尝试使用Espresso测试ActionPage的文本.但是,当我运行Ui Automation Viewer时,我可以看到ActionPage显示为View而不是ActionView,它没有TextView.

我试过像这样检查ActionLabel文本,但这不起作用:

onView(withClassName(equalToIgnoringCase("android.support.wearable.view.ActionLabel"))).check(matches(withText("MyText")));
Run Code Online (Sandbox Code Playgroud)

我有一个我的ActionPage的ID,所以我可以找到它onView(withId(R.id.actionPage))但我不知道如何访问它的孩子来获取ActionLabel文本.我尝试编写自定义匹配器,但这也不起作用:

onView(withId(R.id.actionPage)).check(matches(withChildText("MyText")));

static Matcher<View> withChildText(final String string) {
        return new BoundedMatcher<View, View>(View.class) {
            @Override
            public boolean matchesSafely(View view) {
                ViewGroup viewGroup = ((ViewGroup) view);
                //return (((TextView) actionLabel).getText()).equals(string);
                for(int i = 0; i < view.getChildCount(); i++){
                    View child = view.getChildAt(i);
                    if (child instanceof TextView) {
                        return ((TextView) child).getText().toString().equals(string);
                    }
                }
                return false;
            }

            @Override
            public void describeTo(Description description) {
                description.appendText("with child text: " + string);
            }
        };
    }
Run Code Online (Sandbox Code Playgroud)

有人可以帮助我,ActionLabel似乎没有自己的id,它不是TextView ...我怎么能检查它里面的文字?

+------>FrameLayout{id=-1, visibility=VISIBLE, width=320, height=320, …
Run Code Online (Sandbox Code Playgroud)

android ui-automation android-testing android-espresso

15
推荐指数
1
解决办法
1996
查看次数

使用"adb shell am instrument"时如何检索测试结果

我正在使用以下命令在我的Android设备中执行一些测试:

adb shell am instrument -w package.name/android.test.runner.AndroidJUnitRunner

我可以通过STDOUT看到测试进度和简单的结果.但是,此过程是否也在设备内生成结果文件(xml,html等)?如果是,它存储在哪里?

谢谢

android adb android-studio

8
推荐指数
2
解决办法
7257
查看次数