我必须得到一个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!
请建议正确的方法。
答案 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();