Je reçois une exception de pointeur Java Null lorsque vous essayez d'exécuter le code ci-dessous. Le test est échoué avant que la page Web se charge complètement.
J'ai augmenté le délai d'attente de la page et le temps d'attente implicite, mais cela n'a toujours pas fonctionné. La même page Web est chargée dans les 4 secondes lors du lancement direct via le navigateur. Veuillez trouver le code ci-dessous: p>
// loginpageTestest.java p> // testbase.java p> // loginpage.java p> // console p>
4 Réponses :
On dirait que ce n'est pas un problème de délai d'expiration, il montre NullpointException. Peut-être que le pilote est null. Vérifiez que votre chemin de pilote Chrome est correct ou non. P>
'a échoué: LOGINPAGETTETLETLETTEST java.lang.nullpointereException chez com.crm.qa.pages.loginpage.validateloginpagetitle (loginpage.java:37) ' P>
Si c'est un problème de délai d'attente, vous devriez obtenir le timeoutexcepton. P>
Je suppose que le navigateur lui-même ne sera pas lancé si le chemin du pilote est incorrect. J'ai essayé de déboguer le problème, on dirait que le conducteur.Gettitle () renvoie NULL.
Pouvez-vous s'il vous plaît essayer d'attendre explicitement pour un objet spécifique dans la fonction initialize () et après le pilote.get.get (prop.getproperty ("URL")) code> Ligne ci-dessous: WebDriverWait wait = new WebDriverWait(driver, 10);
wait.until(ExpectedConditions.visibilityOfElementLocated(By.id(objectShouldPresent)));
J'ai lancé la même page Web en créant un test simple et je suis capable d'accéder aux éléments. Je suppose que cela pourrait être quelque chose lié à la référencement d'objet.
Oui, je pense aussi que vous après cette réponse à cause de NullPointerException. Essayez de donner une référence d'objet valide.
Oui, j'ai vérifié la même chose. J'ai essayé de déboguer le problème, on dirait que le conducteur.Gettitle () renvoie NULL.
Veuillez supprimer gentiment les citations doubles (") avant que ChromeRiver_Win32
System.setProperty("webdriver.chrome.driver","C:\\Users\\Pranaykumar\\Downloads\\"chromedriver_win32\\chromedriver.exe");
Le scénario probable est que vous créez une nouvelle instance du pilote à l'intérieur de votre objet code> loginpage code> au lieu de transmettre l'instance existante afin que ce ne soit pas initialisé ... Ainsi, la NPE. P>
Il s'agit d'échec lorsque vous essayez d'appeler validateLoginpageTitle (). Comme il n'est pas capable d'accompagner la méthode validateloginpagetitle (), l'exception Java Null Pointer est lancée.
Je doute que ... plus le scénario est probable que vous créez une nouvelle instance du pilote dans votre objet code> LoginPage code> page au lieu de passer l'instance existante afin que ce ne soit pas initialisé ... Ainsi, la NPE.
Ouais Jeff, tu as raison. J'utilisais une nouvelle instance au lieu de passer l'existence une. Je l'ai réparé et maintenant ça marche bien.
Génial, j'ai ajouté mon commentaire comme une réponse si vous l'acceptez afin que cette question ne soit pas laissée sans réponse.