Robotium测试NotePad(二) //测试添加文本

来源:互联网 发布:sql注入进阶 编辑:程序博客网 时间:2024/06/06 16:42

     下面是具体的对notepad的测试实现:

//测试添加文本
    public void testAddNote()throws Exception {
        //点击Menu按钮,选择文本描述为string的菜单,如"Add note"
        solo.clickOnMenuItem("Add note") ;
        /**assertCurrentActivity(String message, String name)
         * 这个是判断当前的Activity是否和预期的一致
         * message是描述性的文字
         * name是指Activity的名字
         * 关于如何知道Activity名字目前的方法是要看源码中的androidMaintest.xm.--application label --application nodes
         * 可以看到所有的Activity name

         */
        solo.assertCurrentActivity("Expected NoteEditor activity", "NoteEditor") ;
        /**enterText(int index,string text)
         * index用来标示写到哪儿个edittext忠,如果当前只打开一个edittext,那index为0
         * text为要写入的内容
         */

        solo.enterText(0, "Note test") ;
        //相当于手机上的返回键back key
        solo.goBack() ;
        //返回指定的Activity
        solo.goBackToActivity("NotesList") ;
        boolean expected = true;
        /*searchText(String text)
         *在当前的activity中搜索是否含有text的内容
         */

        boolean actual = solo.searchText("Note test");
        System.out.print("000001 is " + actual) ;

        //通过断言来判断是否搜索到内容

        assertEquals("This and/or is are not found", expected, actual);
    }


PS: 在判断创建的文本是否存在时,使用的方法是搜索输入的内容,但是此时必须保证结果唯一。

也就是说刚出的文本中输入的内容不能和已经存在的文本有重复的,即使搜索的结果只能是刚刚创建的文本,那么久需要把前提条件做好,初始化的时候没有文本存在,可以避免出现这种特殊情况。