Gorav
Gorav

Reputation: 1

Selenium java I have issue with two method that are failed, there is no any error shown in code but Two cases are failed

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

Answers (1)

Youssef Abdallah
Youssef Abdallah

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

Related Questions