मैं एंड्रॉइड एप्लिकेशन परीक्षण के लिए नया हूं। मैंने जावा कोड का उपयोग करके एक स्वचालन फ्रेमवर्क बनाया है। तब मैंने मौजूदा रोबोटियम टेस्ट ऐप के साथ ढांचे को एकीकृत करने की कोशिश की। लेकिन तब जब मैं Run as
दे ->Android Junit
, परीक्षण एप्लिकेशन को सफलतापूर्वक स्थापित हो जाता है, लेकिन यह एक अपवाद Exception during Suite construction.
--I दो जावा वर्गों मिल गया है फेंकता है - जैसे Class1_Functional
पुस्तकालय और Class2_Automation
फ्रेमवर्क के लिए। मैंने रोबोटियम ढांचे के अंदर कक्षा Class2_Automation Framework
का एक ऑब्जेक्ट बनाया और इस प्रकार मैं कक्षा के अंदर घोषित फ़ंक्शन को कॉल कर सकता हूं जहां मुझे लगता है कि अपवाद ट्रिगर हो गया है।
नीचे कोड मेरी Robotium ढांचे से पता चलता
package jp.list.app.test;
import java.io.IOException;
import java.util.Arrays;
import android.app.Activity;
import com.jayway.android.robotium.solo.Solo;
import android.test.ActivityInstrumentationTestCase2;
import android.util.Log;
import jp.list.app.test.Automation_Framework;
@SuppressWarnings("unchecked")
public class TestLogin1 extends ActivityInstrumentationTestCase2
{
/////////////////
//Created the object of the class Automation framework where the exception occurs
////////////////
private Automation_Framework autoobj = new Automation_Framework();
private static final
String TARGET_PACKAGE_ID = "jp.list.app";
private static final
String LAUNCHER_ACTIVITY_FULL_CLASSNAME ="jp.list.app.JPActivity";
//Parameters used for the Automation Framework
String excel_path ="/mnt/sdcard/Automation_Framework_Robotium.xls";
// String excel_path ="C:\\Automation_Framework\\Automation_Framework_Robotium.xls";
String screenshot_path ="/mnt/sdcard/Screenshots";
// String screenshot_path = "C:\\Automation_Framework\\Screenshots";
String excelsheet_flow ="Execution_Flow";
String excelsheet_data ="Data";
int stepidindex_flow = 2 ;
int tobeexctdindex_flow = 3;
int funtionflowindex_flow = 6;
int statusindex_flow = 7;
int executioncommentsindex_flow = 8;
int stepidindex_data = 0;
int funtionnameindex_data = 1;
int dataindex_data = 2;
int elementidindex_data = 3;
private static Class<?>launcherActivityClass;
static{
try
{
launcherActivityClass = Class.forName(LAUNCHER_ACTIVITY_FULL_CLASSNAME);
}
catch(ClassNotFoundException e)
{
throw new
RuntimeException(e);
}
}
@SuppressWarnings({ "unchecked", "deprecation" })
public TestLogin1() throws ClassNotFoundException
{
super(TARGET_PACKAGE_ID,launcherActivityClass);
}
private Solo solo;
private Activity activity;
@Override
protected void setUp()throws Exception
{
super.setUp();
this.activity=this.getActivity();
this.solo = new Solo(getInstrumentation(),this.activity);
}
public void test_framework()
{
try {
autoobj.driver_function(excel_path, screenshot_path, excelsheet_flow, stepidindex_flow, tobeexctdindex_flow, funtionflowindex_flow, statusindex_flow, executioncommentsindex_flow, excelsheet_data, stepidindex_data, funtionnameindex_data, dataindex_data, elementidindex_data);
} catch (IOException e) {
Log.v("output", e.toString());
e.printStackTrace();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
@Override
public void tearDown()throws Exception
{
try
{
solo.finalize();
}
catch(Throwable e)
{
e.printStackTrace();
}
getActivity().finish();
super.tearDown();
}
}
और मेरे logcat उत्पादन
----- begin exception -----
java.lang.RuntimeException: Exception during suite construction
at android.test.suitebuilder.TestSuiteBuilder$FailedToCreateTests.testSuiteConstructionFailed(TestSuiteBuilder.java:238)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at junit.framework.TestCase.runTest(TestCase.java:168)
at junit.framework.TestCase.runBare(TestCase.java:134)
at junit.framework.TestResult$1.protect(TestResult.java:115)
at junit.framework.TestResult.runProtected(TestResult.java:133)
at junit.framework.TestResult.run(TestResult.java:118)
at junit.framework.TestCase.run(TestCase.java:124)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:190)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:175)
at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:555)
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1584)
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Constructor.constructNative(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:417)
at android.test.suitebuilder.TestMethod.instantiateTest(TestMethod.java:87)
at android.test.suitebuilder.TestMethod.createTest(TestMethod.java:73)
at android.test.suitebuilder.TestSuiteBuilder.addTest(TestSuiteBuilder.java:262)
at android.test.suitebuilder.TestSuiteBuilder.build(TestSuiteBuilder.java:184)
at android.test.InstrumentationTestRunner.onCreate(InstrumentationTestRunner.java:379)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4142)
at android.app.ActivityThread.access$1300(ActivityThread.java:130)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1255)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4745)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.VerifyError: jp/list/app/test/Function_Lib_Robotium
at jp.list.app.test.Automation_Framework.<init>(Automation_Framework.java:37)
at jp.list.app.test.TestLogin1.<init>(TestLogin1.java:15)
... 18 more
----- end exception -----
JUnit अपवाद देता है:
java.lang.RuntimeException: Exception during suite construction
at android.test.suitebuilder.TestSuiteBuilder$FailedToCreateTests.testSuiteConstructionFailed(TestSuiteBuilder.java:238)
at java.lang.reflect.Method.invokeNative(Native Method)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:190)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:175)
at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:555)
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1584)
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Constructor.constructNative(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:417)
at android.test.suitebuilder.TestMethod.instantiateTest(TestMethod.java:87)
at android.test.suitebuilder.TestMethod.createTest(TestMethod.java:73)
at android.test.suitebuilder.TestSuiteBuilder.addTest(TestSuiteBuilder.java:262)
at android.test.suitebuilder.TestSuiteBuilder.build(TestSuiteBuilder.java:184)
at android.test.InstrumentationTestRunner.onCreate(InstrumentationTestRunner.java:379)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4142)
at android.app.ActivityThread.access$1300(ActivityThread.java:130)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1255)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4745)
at java.lang.reflect.Method.invokeNative(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.VerifyError: jp/list/app/test/Function_Lib_Robotium
at jp.list.app.test.Automation_Framework.<init>(Automation_Framework.java:37)
at jp.list.app.test.TestLogin1.<init>(TestLogin1.java:15)
... 18 more
मैं वास्तव में सराहना करते हैं अगर किसी के साथ मुझे प्रदान कर सकता हैं उपरोक्त क्वेरी के लिए एक समाधान।
कारण: java.lang.VerifyError: jp/list/app/test/Function_Lib_Robotium –
क्या यह त्रुटि केवल 4.2 डिवाइसों में होती है ??? –
अच्छा, उत्तर के लिए धन्यवाद। मैं एंड्रॉइड 4.1.2 संस्करण का उपयोग कर रहा हूं और मैंने अन्य संस्करणों के साथ प्रयास नहीं किया है। –