Robotium不想点击OK按钮进入Facebook对话框

时间:2014-07-11 12:09:35

标签: android facebook robotium

我正在使用Robotium测试进行Facebook连接并接受facebook授权。

这是我的测试:

/**
 * Test used to deconnect user
 */
public void testDeconnexion() {
    // revoque publish permissions on facebook
    FacebookManager.RevoqueAllPermissions(this.getActivity());
    // wait for authorization deleted
    solo.waitForLogMessage(this.getActivity().getResources().getString(R.string.log_facebook_revoque_publish_action), 5000);
    // disconnect
    solo.clickOnMenuItem(this.getActivity().getString(R.string.menu_item_logout));
    // give it time to change activity
    solo.sleep(1000);
    // click on log out button
    solo.clickOnButton("Log out");
    // give it time to change activity
    solo.sleep(1000);
    // click on log out button
    solo.clickOnButton("Log out");
    // give it time to change activity
    solo.sleep(1000);
    // log in
    solo.clickOnButton("Log in with Facebook");
    // give it time for to see popup confirm
    solo.sleep(1000);

    // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    // !!!!!!! My Screenshot here !!!!!!!!!!!
    // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

    //click on ok button
    solo.clickOnButton("OK"); // <-- Doesn't Work...

    solo.sleep(5000);
}

我的问题是当显示带有授权的Facebook对话框时,Robotium不想点击“确定”按钮。

如何解决这个问题?

Facebook Dialog

1 个答案:

答案 0 :(得分:2)

我在使用特定的&#34; clickOn&#34;时遇到了很多麻烦。方法。尽量不要使用

指定它是您要点击的按钮
solo.clickOnText("OK")

代替。

另外,请避免使用solo.sleep(),因为即使不需要,也会显着降低测试速度。利用solo.waitFor - 方法。例如waitForText("text")waitForActivity(YourActivity.class)等。这些方法返回一个可以在assert-statements中使用的布尔值。

有关可用方法,请参阅Solo Javadoc