// Dies ist mein XML-Code ... wenn ich (InvalidLogin-Methode) in der Test-Suite "Mit gültigen Daten arbeiten" teste, funktioniert es erfolgreich, aber wenn ich versuchen (InvalidLogin Methode) Code in verschiedener Testsuite ausführen (ex.Login mit ungültigen Daten) es erzeugt FehlerGibt die Ausnahme "java.lang.NullPointerException" aus, während zwei Testfälle parallel ausgeführt werden.
<suite name="Test Login" verbose="2" parallel="methods" thread-count="2">
<test name="Login with valid data" >
<parameter name="UserName" value="priyanka"></parameter>
<parameter name="Password" value="vrs~123"></parameter>
<!-- <parameter name="UserNam" value="Chetna12345"></parameter>
<parameter name="Passwor" value="Chetna12345"></parameter> -->
<classes>
<class name="Login_Test">
<methods>
<include name="openBrowser"></include>
<include name="SuccessfulLogin"></include>
<!-- <include name="InvalidLogin"></include> -->
</methods>
</class>
</classes>
</test>
<test name="Login with Invalid Data">
<parameter name="UserNam" value="priyanka"></parameter>
<parameter name="Passwor" value="priyanka"></parameter>
<groups>
<run>
<include name="TC02"></include>
</run>
</groups>
<classes>
<class name="Login_Test">
<methods>
<include name="InvalidLogin"></include>
</methods>
</class>
</classes>
</test>
</suite>
// Das ist meine Methode für eine erfolgreiche Anmeldung und ich tue Logout nach der Anmeldung so URL-Browser bleibt offen, aber Werte für ungültig werden nicht an Textbox weitergeleitet ...
public void SuccessfulLogin(String userName, String passWord) {
try {
driver.findElement(By.id("UserName")).sendKeys(userName);
driver.findElement(By.id("Password")).sendKeys(passWord);
driver.findElement(By.id("btnLogin")).submit();
// Logout-Code
driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS);
driver.findElement(By.className("dropdown-toggle")).click();
driver.findElement(By.xpath("//a[contains(@href, 'Account/LogOff')]")).click();
} catch (Exception ex) {
}
}
public void InvalidLogin(String Uname,String Pword)
{
driver.findElement(By.id("UserName")).sendKeys(Uname);
driver.findElement(By.id("Password")).sendKeys(Pword);
driver.findElement(By.id("btnLogin")).submit();
}
// in Console löschte
Login success!!
PASSED: openBrowser
PASSED: SuccessfulLogin("priyanka", "vrs~123")
===============================================
Login with valid data
Tests run: 2, Failures: 0, Skips: 0
===============================================
[TestRunner] Starting executor for test Login with Invalid Data with time out:2147483647 milliseconds.
FAILED: InvalidLogin("priyanka", "priyanka")
java.lang.NullPointerException
Ihre zweite 'Login_Test' tut hinzufügen annehmen müssen nicht schließe 'openBrowser' ein. –
Hallo @ElliottFrisch Ich habe meinen Code aktualisiert, in dem ich Logout nach meiner ersten Testfallausführung mache, also wenn die Ausführung für "Ungültige Anmeldung" startet, bleibt die Anmeldeseite im Browser geöffnet, so dass ungültige Daten direkt in den Browser gelangen. – Sumit
Können Sie ein [Minimal, Computer und Überprüfbares Beispiel] (http://stackoverflow.com/help/mcve) erstellen? Es sollte uns helfen, Ihnen zu helfen. – mfulton26