获取TextView的条件语句

时间:2014-02-18 06:10:47

标签: android robotium black-box-testing

我必须得到一个EditText对象,该对象只是应用中的搜索栏,文字显示为Current Location,但是如果我已使用myText创建了搜索查询,没有Current Location文字可见,搜索栏显示myText

我正在使用Robotium solo对象编写测试用例。

我怎么能写一个条件语句来获取EditText,尽管它显示的是什么文本。像

这样的东西
if !found solo.getText("Current Location")
      search solo.getText("myText");

这就是我目前正在做的事情

EditText text = (EditText) solo.getText("Current Location");
if(text == null){
        text = (EditText) solo.getText("myText");
//my rest of the code goes here....

但如果搜索栏中没有Current Location,则会抛出异常。

junit.framework.AssertionFailedError: TextView with text: 'Current Location' is not found!

请建议正确的方法。

2 个答案:

答案 0 :(得分:1)

尝试使用此代码:

if(!solo.searchText("Current Location"))
    assertTrue(solo.searchText("my Text"))
else
    assertTrue(solo.searchText("Current Location"));

答案 1 :(得分:0)

EditText view = (EditText) solo.getView(view1);

if(view == null){
    view = (EditText) solo.getView(view2)
}
view.getText().toString();