如何点击使用Robotium一个微调的第一个项目?(How do I click the first

2019-07-29 19:05发布

我有问题在旋转滚动起来的Robotium测试用例来选择第一项。 这里是我的代码:

int pos = solo.getCurrentSpinners().get(0).getSelectedItemPosition();
solo.pressSpinnerItem(0, 0 - pos);

pos是1,当我调试,但Robotium仍压在指数1微调,即使我责令其按在-1。 我究竟做错了什么?

感谢马库斯

Answer 1:

似乎他们把这些类出来了。 恰好碰到了这个自己,但发现了一种正确和一般做到这一点。

// 0 is the first spinner in the layout
View view1 = solo.getView(Spinner.class, 0);
solo.clickOnView(view1);
solo.scrollToTop(); // I put this in here so that it always keeps the list at start
// select the 10th item in the spinner
solo.clickOnView(solo.getView(TextView.class, 10)); 


Answer 2:

该API在这里使用与Robotium是相当片状,所以我决定走直接API路线:

instrumentation.runOnMainSync(new Runnable() {
    @Override
    public void run() {
        Spinner spinner = (Spinner) solo.getView(resourceId);
        spinner.setSelection(position, true);
    }
});

这不会告诉你的微调的弹出,但它会选择所需项目。



Answer 3:

你能刚拿到的观点,并调用执行一下就可以了?

solo.getCurrentSpinners().get(0).performClick()


文章来源: How do I click the first item in a spinner using Robotium?