Reputation: 1
I have issue with title verification & close browser method both are failed, there is no any error shown in code but 2 case are failed..
This is my code
package com.google;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.annotations.Test;
public class Titlevarification {
@Test(priority=1)
public void Launchbrowser() throws InterruptedException
{
System.setProperty("webdriver.gecko.driver","C:\\Users\\Admin\\Downloads\\New folder
(3)\\geckodriver\\geckodriver.exe");
WebDriver driver= new FirefoxDriver();
driver.manage().window().maximize();
driver.get("https://www.google.com/");
Thread.sleep(1000);
}
@Test(priority=2)
public static void titlevarification(WebDriver driver)
{
String ExpectedTitle = "Google";
String ActualTitle = driver.getTitle();
if (ActualTitle.equals(ExpectedTitle))
{
System.out.println("Test Passed!");
}
else
{
System.out.println("Test Failed");
}
}
@Test(priority=3)
public static void closebrowser(WebDriver driver)
{
driver.quit();
System.out.println("Browser Closed");
}
}
these are errors PASSED: Launchbrowser FAILED: titlevarification org.testng.TestNGException: Cannot inject @Test annotated Method [titlevarification] with [interface org.openqa.selenium.WebDriver]. For more information on native dependency injection please refer to https://testng.org/doc/documentation-main.html#native-dependency-injection at org.testng.internal.Parameters.checkParameterTypes(Parameters.java:439) at org.testng.internal.Parameters.createParametersForMethod(Parameters.java:353) at org.testng.internal.Parameters.createParameters(Parameters.java:708) at org.testng.internal.Parameters.handleParameters(Parameters.java:884) at org.testng.internal.Parameters.handleParameters(Parameters.java:740) at org.testng.internal.ParameterHandler.handleParameters(ParameterHandler.java:59) at org.testng.internal.ParameterHandler.createParameters(ParameterHandler.java:38) at org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:791) at org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:146) at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146) at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128) at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
at org.testng.TestRunner.privateRun(TestRunner.java:794)
at org.testng.TestRunner.run(TestRunner.java:596)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:377)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:371)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:332)
at org.testng.SuiteRunner.run(SuiteRunner.java:276)
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96)
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1212)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1134)
at org.testng.TestNG.runSuites(TestNG.java:1063)
at org.testng.TestNG.run(TestNG.java:1031)
at org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:115) at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:251) at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:77)FAILED: closebrowser org.testng.TestNGException: Cannot inject @Test annotated Method [closebrowser] with [interface org.openqa.selenium.WebDriver]. For more information on native dependency injection please refer to https://testng.org/doc/documentation-main.html#native-dependency-injection at org.testng.internal.Parameters.checkParameterTypes(Parameters.java:439) at org.testng.internal.Parameters.createParametersForMethod(Parameters.java:353) at org.testng.internal.Parameters.createParameters(Parameters.java:708) at org.testng.internal.Parameters.handleParameters(Parameters.java:884) at org.testng.internal.Parameters.handleParameters(Parameters.java:740) at org.testng.internal.ParameterHandler.handleParameters(ParameterHandler.java:59) at org.testng.internal.ParameterHandler.createParameters(ParameterHandler.java:38) at org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:791) at org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:146) at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146) at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128) at java.base/java.util.ArrayList.forEach(ArrayList.java:1511) at org.testng.TestRunner.privateRun(TestRunner.java:794) at org.testng.TestRunner.run(TestRunner.java:596) at org.testng.SuiteRunner.runTest(SuiteRunner.java:377) at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:371) at org.testng.SuiteRunner.privateRun(SuiteRunner.java:332) at org.testng.SuiteRunner.run(SuiteRunner.java:276) at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53) at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96) at org.testng.TestNG.runSuitesSequentially(TestNG.java:1212) at org.testng.TestNG.runSuitesLocally(TestNG.java:1134) at org.testng.TestNG.runSuites(TestNG.java:1063) at org.testng.TestNG.run(TestNG.java:1031) at org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:115) at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:251) at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:77)
Default test Tests run: 3, Failures: 2, Skips: 0 =============================================== =============================================== Default suite Total tests run: 3, Passes: 1, Failures: 2, Skips: 0 ===============================================
Upvotes: 0
Views: 465
Reputation: 54
Passing arguments to methods annotated with @Test
should be done in a special way. I suggest that you remove the WebDriver
argument from both methods and make it an instance variable instead.
Upvotes: 1