2013-03-06 29 views
2

我正在使用robotium来测试一个android项目。我有一个测试用例,我需要测试包含特殊字符的消息是否正确发布。 因此,我创建由特殊字符常量:如何使用solo.searchText搜索一些包含特殊字符的文本

public static final String PostMessageWithSpecialchars = "Hey hi,* Have a good day*.:()[]-=/&!?"'+;@#"; 

,我使用下面的代码进行搜索,并断言,发布消息是在不断PostMessageWithSpecialchars消息酷似

assertTrue(solo.searchText(PostMessageWithSpecialchars)); 

但该测试在assertTrue行失败。 如何搜索PostMessageWithSpecialchars文本?我不想使用转义字符,因为它会忽略特殊字符。我想确保PostMessageWithSpecialchars消息中的特殊字符能够正确发布。

+0

嗨,你可以指定你到底想找什么。 searchText使用正则表达式,因此您需要创建适当的模式。 – andrew 2013-03-06 08:19:24

+0

我想发现邮件PostMessageWithSpecialchars发布时显示完全一样,因为它是...所以在发送消息后,我使用assertTrue(solo.searchText(PostMessageWithSpecialchars));检查,但断言失败。 – NJF 2013-03-06 09:16:28

回答

2

方法solo.searchText()接受正则表达式模式。在搜索字符串中,您正在使用用于模式的特殊字符。你可以引用他们来找到任何文字:

assertTrue(solo.searchText(Pattern.quote(PostMessageWithSpecialchars))); 
+0

Pattern.quot它做什么?它忽略特殊字符吗? – NJF 2013-03-06 11:19:38

+0

是的,它引用特殊字符,所以正则表达式将执行搜索字符,而不是接受它作为命令。 – andrew 2013-03-06 11:21:51

+0

但我不想忽略或转义特殊字符。 B'coz当我输入一条消息,比如“hi ** all”时,我想断言那些“**”已正确发布。 – NJF 2013-03-06 11:32:21

相关问题