gpt4 book ai didi

java - 带有 libGDX 的 Robotium 查找 imageButton 索引

转载 作者:行者123 更新时间:2023-11-30 09:24:28 25 4
gpt4 key购买 nike

我一直在尝试让 Robotium 测试器为 libGDX 中的 Android 项目工作,但遇到了一些问题。首先,我想测试我的游戏按钮(即 imageButtons),但为此我需要 Android 中的 imageButton 索引。

我怎样才能得到它?

我的按钮在主项目中:

  ImageButtonStyle style = new ImageButtonStyle();
style.imageUp = buttonsImagesUp;
style.imageDown = buttonsImagesDown;
ImageButton newgameButton = new ImageButton(style);
newgameButton.setPosition(425,330);

这是我想在 JUnit 中测试的按钮。

我的 JUnit 代码:

public class ButtonTest extends ActivityInstrumentationTestCase2<MainActivity> {

private Solo solo;

@SuppressWarnings("deprecation")
public ButtonTest() {
super("com.me.myGame", MainActivity.class);
}

protected void setUp() throws Exception {
super.setUp();
solo = new Solo(getInstrumentation(), getActivity());
}

public void testMenu(){
solo.assertCurrentActivity("First menu selected", MainActivity.class);
solo.clickOnImageButton(index); //need index
}
}

我的游戏是这样设置的:首先是处理资源并将第一个屏幕设置为主菜单的主游戏类:

  @Override
public void create() {
playSound = userPref.getBoolean("playSounds");
setScreen(mainMenuScreen);
}

然后进入 MainMenuScreen.js,这就是我想用 JUnit 测试的按钮

最佳答案

Robotium 的 ImageButton 想法与 Libgdx 非常非常不同。 Robotium 需要一个图像按钮,该按钮被定义为标准 Android UI 基础结构的一部分(请参阅 Android ImageButton)。 Libgdx ImageButton 是一个带有 OpenGL 纹理引用的 Java 对象(参见 Libgdx ImageButton )。从 Android UI 基础设施的角度来看,Libgdx 应用程序只是一个全屏 OpenGL View ,并且只有很少的元数据供 Robotium 使用。

您可以使用原始的“clickOnScreen”基础设施,但您必须手动计算和跟踪按钮在屏幕上的位置。此外,如果 Robotium 不包含 Libgdx 应用程序中不存在的对 Android UI 基础架构的其他依赖项,我会感到惊讶。

关于java - 带有 libGDX 的 Robotium 查找 imageButton 索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15694744/

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