Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 机器人拖动不起作用_Android_Testing_Drag And Drop_Andengine_Robotium - Fatal编程技术网

Android 机器人拖动不起作用

Android 机器人拖动不起作用,android,testing,drag-and-drop,andengine,robotium,Android,Testing,Drag And Drop,Andengine,Robotium,我已经用AndEngine编写了一个游戏,我想用Robotium测试它。问题是robotium的拖动功能不起作用。我已经将Robotum4.0JAR添加到构建路径并导出,还有我的清单文件 似乎是正确的。第二次测试(操纵杆)失败,因为移动从未发生。这是测试类: package cs428.uiuc.robotswarms.test; import junit.framework.Assert; import org.andengine.entity.sprite.Animate

我已经用AndEngine编写了一个游戏,我想用Robotium测试它。问题是robotium的拖动功能不起作用。我已经将Robotum4.0JAR添加到构建路径并导出,还有我的清单文件 似乎是正确的。第二次测试(操纵杆)失败,因为移动从未发生。这是测试类:

package cs428.uiuc.robotswarms.test;

    import junit.framework.Assert;

    import org.andengine.entity.sprite.AnimatedSprite;


    import com.jayway.android.robotium.solo.Solo;


    import cs428.uiuc.robotswarms.RobotSwarms;

    import android.test.ActivityInstrumentationTestCase2;


    public class testMotion extends ActivityInstrumentationTestCase2<RobotSwarms> {

public testMotion() {
    super(RobotSwarms.class);
}

private Solo solo;

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

protected void tearDown() throws Exception {
    solo.finishOpenedActivities();
    super.tearDown();
}

private void waitForSpriteInitialisation(RobotSwarms ActivityData) {
    while (ActivityData.getPlayerSprite() == null) {

    }
}

public void testJoystickMovement() {
    RobotSwarms ActivityData = getActivity();
    final float fromX = 400.0f;
    float toX = 380.0f;
    final float fromY = 208.0f;
    float toY = 208.0f;
    AnimatedSprite playerSprite;
    waitForSpriteInitialisation(ActivityData);
    playerSprite = ActivityData.getPlayerSprite();
    float initialPlayerXPosition = playerSprite.getX();
    solo.sleep(2000);
    solo.drag(fromX, toX, fromY, toY, 5);
    solo.sleep(2000);

    playerSprite = ActivityData.getPlayerSprite();

    float playerMovedX = playerSprite.getX();
    Assert.assertTrue(playerMovedX != initialPlayerXPosition);

}


}
包cs428.uiuc.robotswarms.test;
导入junit.framework.Assert;
导入org.andengine.entity.sprite.AnimatedSprite;
导入com.jayway.android.robotium.solo.solo;
导入cs428.uiuc.robotswarms.robotswarms;
导入android.test.ActivityInstrumentationTestCase2;
公共类testMotion扩展了ActivityInstrumentationTestCase2{
公共测试动议(){
超级(机器人群类);
}
私人独奏;
受保护的void setUp()引发异常{
super.setUp();
setActivityInitialTouchMode(真);
solo=新的solo(getInstrumentation(),getActivity());
}
受保护的void tearDown()引发异常{
solo.finishOpenedActivities();
super.tearDown();
}
PriteInitialization(机器人群活动数据)的专用无效等待{
while(ActivityData.getPlayerSprite()==null){
}
}
公共无效测试JoyStickMovement(){
机器人群集ActivityData=getActivity();
最终浮动范围X=400.0f;
浮子毒性=380.0f;
最终浮动fromY=208.0f;
浮子玩具=208.0f;
动画精灵玩家Prite;
等待PriteInitialization(活动数据);
playerSprite=ActivityData.getPlayerSprite();
float initialPlayerXPosition=playerSprite.getX();
solo.sleep(2000年);
单人拖拽(fromX,toX,fromY,toY,5);
solo.sleep(2000年);
playerSprite=ActivityData.getPlayerSprite();
float playerMovedX=playerSprite.getX();
Assert.assertTrue(playerMovedX!=initialPlayerXPosition);
}
}
目标应用程序清单文件:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="cs428.uiuc.robotswarms"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="17" />

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" android:debuggable="true">
    <activity
        android:name="cs428.uiuc.robotswarms.RobotSwarms"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="cs428.uiuc.robotswarms.test"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk android:minSdkVersion="8" />

<instrumentation
    android:name="android.test.InstrumentationTestRunner"
    android:targetPackage="cs428.uiuc.robotswarms" />

<application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name" >
    <uses-library android:name="android.test.runner" />
</application>

测试项目清单文件:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="cs428.uiuc.robotswarms"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="17" />

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" android:debuggable="true">
    <activity
        android:name="cs428.uiuc.robotswarms.RobotSwarms"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="cs428.uiuc.robotswarms.test"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk android:minSdkVersion="8" />

<instrumentation
    android:name="android.test.InstrumentationTestRunner"
    android:targetPackage="cs428.uiuc.robotswarms" />

<application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name" >
    <uses-library android:name="android.test.runner" />
</application>

我曾尝试使用TouchUtils代替Robotium,但这似乎也不起作用。 编辑:Bump

查看此链接:,在此链接中,您可以看到如何滚动或拖动动态屏幕,而不考虑屏幕大小。。。希望这能帮助你。。。