gpt4 book ai didi

android - 用 Espresso 寻找字符串

转载 作者:搜寻专家 更新时间:2023-11-01 08:53:27 25 4
gpt4 key购买 nike

我正在尝试从我的 UI View 中读取一个值。这是我用来查找所需字符串的方法。这只返回 textView id,而不返回内容。

    public static String getSpeedIndex(){
return onView(allOf(withId(R.id.slider_index),
isDescendantOfA(withId(R.id.speed_number_column))))
.toString();
}

如何返回我需要的字符串?

最佳答案

如评论中所述,我们并未将此操作设为 Espresso API 的一等公民,以鼓励测试作者明确操作和断言并阻止测试中的条件逻辑。考虑到这一点,我鼓励您考虑为您的服务器编写一个假的,这样您就可以控制测试输入(并避免不稳定)并避免条件逻辑。

但是,如果你绝对必须得到这个值,你可以这样做:

final AtomicReference<String> textFromView = new AtomicReference<String>();

onView(<matcher for your view>).perform(new ViewAction() {
@Override
public Matcher<View> getConstraints() {
// TODO - at the very least, check that this is an instance of TextView
}

@Override
public String getDescription() {
return "get text from text view"
}

@Override
public void perform(UiController uiController, View view) {
textFromView.set(((TextView) view).getText());
}
}

当然,如果你经常这样做(你不应该这样做),你可以通过将所有这些放在一个单独的类中来让它变得更好。

关于android - 用 Espresso 寻找字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21031556/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com