繁体   English   中英

如何单击Robotium中特定文本旁边的按钮

[英]How to click Button adjacent to a specific text in Robotium

我遇到了这个问题,我需要点击我的应用程序中某些文本旁边的特定按钮。

例如:让它成为我的应用程序的屏幕之一,文本如下。

    xxxx-xxxx-xxxx  Button1 Button2
    yyyy-yyyy-yyyy  Button3 Button4

现在我想点击Button1,如果我作为输入传递的文本匹配“xxxx-xxxx-xxxx”。 并且,如果输入文本匹配“yyyy-yyyy-yyyy”,则为Button3。

https://www.dropbox.com/s/1fgr4uz4mm2mfm6/Untitled.png请参阅此链接以查看其外观。

提前致谢!

我假设他们在同一个Viewgroup中。 如果是这种情况,那就不是那么糟糕了。

你需要做的是将其分解为一系列问题

1)找到视图,这很简单solo.getText(String text)将返回具有该文本的文本视图,如果它是编辑文本,则getEditText(String text)将起作用。

2)找到您找到的视图和要单击的按钮之间的父视图。 你可以通过在上面返回的视图上调用getParent()并将其转换为(ViewGroup)来完成此操作

3)从该视图父级中找到所需的文本视图,如果它们都具有相同的结构,则最简单的是在上面的视图组中使用getChildAt(i),其中我可能是你提到的结构中的2。 您需要将其强制转换为按钮。

把这一切放在一起它会看起来像:

View view = solo.getEditText("xxxx-xxxx-xxxx"); //or solo.getText("xxxx-xxxx-xxxx")
ViewGroup viewGroupContaingTextAndButton = (ViewGroup) view.getParent();
Button button = viewGroupContaingTextAndButton.getChildAt(2);

您应该能够将其重构为一个简单易用的方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM