【问题标题】:Unable to clickon actionbar on robotium无法单击机器人上的操作栏
【发布时间】:2013-06-11 06:37:14
【问题描述】:

您好,我是robotium 新手,目前正在我的应用程序中测试android“actionbaritems”,我使用了以下代码,

assertTrue(solo.searchText("Log In";));

solo.clickOnButton("Log In";); 

solo.waitForActivity(LAUNCHER_ACTIVITY_FULL_CLASSNAME); 

assertTrue(solo.searchText("Forgot password?";));

solo.clearEditText(0); 

solo.enterText(0, "stest123";);

solo.enterText(1, "123456";);

solo.waitForActivity(LAUNCHER_ACTIVITY_FULL_CLASSNAME);

 final EditText editText = solo.getEditText(1); // Create a runnable which triggers the 

onEditorAction callback Runnable runnable = new Runnable()

 { 

public void run() 

{ 
editText.onEditorAction(EditorInfo.IME_ACTION_DONE); 

} 
}; // Use Solo to get the current activity, and pass our runnable to the UI // thread. 

solo.getCurrentActivity().runOnUiThread(runnable); 

solo.waitForActivity(LAUNCHER_ACTIVITY_FULL_CLASSNAME); 

System.out.println(solo.getCurrentActivity().getLocalClassName().toString()); 

getInstrumentation().invokeContextMenuAction(getActivity(),3,0); 

solo.clickOnText("Nearby";);

solo.sleep(1000); 

View actionbarItem1 = solo.getView(2);

solo.clickOnView(actionbarItem1);

我无法点击 actionbaritem 谁能告诉我代码哪里出错了? 由于我没有 apk 的源代码,我无法通过常规方法传递它,是否有任何替代方法或任何想法我哪里出错了? 提前致谢

【问题讨论】:

    标签: android android-layout actionbarsherlock robotium


    【解决方案1】:

    你在这里做的很奇怪:

    View actionbarItem1 = solo.getView(2);
    

    solo.getView(int id) 方法从 R.id 获取视图的 id。 (就像一条路径)

    您在名为 R.java 的文件中有一个类,其中引用了所有 id。当您创建视图时,它会为您的视图生成一个 id。每个 id 都匹配一个视图。

    public static final class id {
        public static final int fancy_action_item_id=0x7f07016a;
    }
    

    findViewById(int id) 方法将通过为视图提供 id 来帮助您获得所需的视图。 也许你应该这样做:

    View actionBarItem1 = yourActivity.findViewById(R.id.fancy_action_item_id);
    solo.clickOnView(actionBarItem1);
    

    【讨论】:

    • 查看 actionBarItem1 = yourActivity.findViewById(R.id.fancy_action_item_id);为此,我们需要 apk 源,对吗?但在他们提到的问题中,除了使用 r.id 之外,没有任何 apk 源可以做吗?
    • 我无法访问 apk 源,因为 @user2458346 提到 viewbyid 需要它的源
    猜你喜欢
    • 1970-01-01
    • 2019-05-15
    • 1970-01-01
    • 2018-12-14
    • 2021-12-21
    • 2022-10-16
    • 1970-01-01
    • 2022-08-14
    • 2020-05-19
    相关资源
    最近更新 更多