2016-03-07 1 views
0

J'ai écrit un script pour exécuter automatiquement une exécution de Test Link. Je reçois une erreur lors de l'exécution de ce script.Exécution d'un test de test avec un script sélénium

J'ai déjà donné six paramètres, et la clé de développeur et Nom du projet:

public class Execution { 
    public static WebDriver driver; 
    public static String DEVKEY="80851b38d9b92"; 
    public static String URL="http:///testlink/lib/api/xmlrpc/v1/xmlrpc.php"; 
    String testProject="MEDFB"; 
    String testPlan="TP"; 
    String build="Build"; 
    String testcase ="MEDFB_BMEAPP-3"; 
    public static void reportResult(String testProject,String testPlan,String testcase,String build,String Notes,String result) throws TestLinkAPIException{ 
    TestLinkAPIClient api=new TestLinkAPIClient(DEVKEY, URL); 
    api.reportTestCaseResult(testProject, testPlan, testcase, build, Notes, result= TestLinkAPIResults.TEST_PASSED); 
} 

Ceci est updateTestLinkResult():

public void updateTestLinkResult(String testCase, String Notes, String result) 
    throws TestLinkAPIException 
{ 
    TestLinkAPIClient testlinkAPIClient = new TestLinkAPIClient(DEVKEY,URL); 
    testlinkAPIClient.reportTestCaseResult(testProject, testPlan, testcase, build, Notes, result= TestLinkAPIResults.TEST_PASSED); 
} 

C'est le test:

public void Test1() throws Exception { 
    String result = ""; 
    String Notes = ""; 
    try { 
    result= TestLinkAPIResults.TEST_PASSED; 
    updateTestLinkResult("TC", null, result); 
    } catch (Exception e) { 
    result = TestLinkAPIResults.TEST_FAILED; 
    Notes = e.getMessage(); 
    updateTestLinkResult("TC", Notes, result); 
    } 

Erreur:

org.testng.TestNGException: 
Method reportResult requires 6 parameters but 0 were supplied in the @Configuration annotation. 
    at org.testng.internal.Parameters.checkParameterTypes(Parameters.java:198) 
    at org.testng.internal.Parameters.createParameters(Parameters.java:134) 
    at org.testng.internal.Parameters.createParameters(Parameters.java:370) 
    at org.testng.internal.Parameters.createConfigurationParameters(Parameters.java:86) 
    at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:199) 
    at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:138) 
    at org.testng.SuiteRunner.privateRun(SuiteRunner.java:277) 
    at org.testng.SuiteRunner.run(SuiteRunner.java:240) 
    at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52) 
    at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86) 
    at org.testng.TestNG.runSuitesSequentially(TestNG.java:1198) 
    at org.testng.TestNG.runSuitesLocally(TestNG.java:1123) 
    at org.testng.TestNG.run(TestNG.java:1031) 
    at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:115) 
    at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:207) 
    at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:178) 
+0

Pouvez-vous s'il vous plaît poster votre code? –

+0

Basé sur l'erreur, il semble que le framework charge automatiquement le test mais ne trouve pas les paramètres. Y a-t-il une configuration supplémentaire que vous n'avez pas incluse? De plus, notez que c'est probablement une mauvaise idée d'inclure des choses comme 'DEVKEY' dans le code que vous affichez publiquement sur Internet. –

Répondre

0

Il semble que vous ayez créé deux instance de TestLinkAPIClient un dans la classe et dans la méthode updateTestLinkResult(). Retirez-le du niveau de la classe. Et aussi dans la méthode updateTestLinkResult(), comme vous passez le résultat en paramètre pourquoi vous êtes hardcoing le résultat à result= TestLinkAPIResults.TEST_PASSED; remove = TestLinkAPIResults.TEST_PASSED cela pourrait fonctionner.