我一直试图让机器人测试人员为libGDX的安卓项目工作,但遇到了一些问题。首先,我想测试我的游戏按钮(即imageButtons),但为此,我需要安卓系统中的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测试的按钮
发布于 2013-03-28 22:41:03
罗博托关于ImageButton
的想法与Libgdx非常,非常不同。Robotium正在期待一个图像按钮,该按钮被定义为标准Android基础结构的一部分(请参阅ImageButton
)。Libgdx ImageButton
是一个具有OpenGL纹理引用的OpenGL对象(参见ImageButton
)。从Android基础设施的角度来看,Libgdx应用程序只是一个全屏OpenGL视图,对于Robotium来说几乎没有元数据可供使用。
您可能可以使用原始的"clickOnScreen“基础结构,但是您必须手动计算和跟踪屏幕上按钮的位置。此外,如果Robotium不包含Libgdx应用程序中没有的Android基础设施的其他依赖项,我会感到惊讶。
https://stackoverflow.com/questions/15694744
复制相似问题