我正在尝试在android中自动化本机应用程序。在该应用程序中我有登录功能。我自动化了正流量。现在我试图获取弹出窗口中显示的错误消息,如果我不填写电子邮件字段这个弹出窗口不是由UIAUTOMATORVIEWER识别的。
我正在使用python和UIAUTOMATOR。有人请建议我如何获取弹出窗口中显示的错误消息。
下面我附上图片。
我想打印' Field不能为空'消息显示在弹出窗口中。
print self.d(text='Email').text
发送电子邮件'文字不是'字段不能为空'信息。
答案 0 :(得分:0)
我刚写了这段代码给你一条路。根据您的要求做进步:
<强> XML:强>
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<TextView
android:id="@+id/tv_email"
android:layout_width="match_parent"
android:layout_height="40dp"
android:background="@color/Black"
android:text="Email"
android:textColor="@color/White" />
<TextView
android:id="@+id/tv_pass"
android:layout_width="match_parent"
android:layout_height="40dp"
android:background="@color/Black"
android:layout_below="@+id/tv_email"
android:text="Password"
android:textColor="@color/White" />
<FrameLayout
android:id="@+id/frame_for_email_error"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_below="@+id/tv_email"
android:visibility="gone">
<TextView
android:id="@+id/tv_pass"
android:layout_width="match_parent"
android:layout_height="40dp"
android:background="@color/Gray"
android:text="Field cannot be empty"
android:textColor="@color/Black" />
</FrameLayout>
</RelativeLayout>
当您的电子邮件是!(email.length&gt; 0)时,请执行以下操作:
Java代码:
FrameLayout frame = (FrameLayout) findviewbyid(R.id.frame_for_email_error);
frame.setvisibility(View.Visible);
答案 1 :(得分:0)
很抱歉告诉你,但你不能。我遇到了同样的问题(针对那种情况和其他问题)。所有UiAutomator都可以看到uiAutomatorViewer识别的内容。
P.s。:这也是为什么UiAutomator不会读取/找到屏幕上当前不可见的对象的原因。