Ich kann den Code in @test nicht ausführen, aber er wird in der @BeforeTest-Annotation ausgeführt. Es ist der Treiber geöffnet, der sich in BeforeTest Annotation befindet, aber das Element ("// * [@ id = 'lst-ib']"), das sich in @Test befindet und eine NULL-Ausnahme auslöst, kann nicht gefunden werden.Es ist nicht möglich, selbst nach der Ausführung von @BeforeTest zur @Test-Annotation zu gehen. Annotation
package package2;
public class dataprovider {
WebDriver driver;
@BeforeTest
public void setup(){
System.setProperty("webdriver.chrome.driver","./drivers/chromedriver.exe/");
ChromeDriver driver = new ChromeDriver();
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
driver.get("https://google.com/");
/*System.setProperty("webdriver.firefox.marionette", "./drivers/geckodriver.exe/");
driver = new FirefoxDriver();
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
driver.get("https://google.com");*/
}
/** Test case to verify google search box
* @param author
* @param searchKey
* @throws InterruptedException
*/
@Test(dataProvider="SearchProvider")
public void testMethod(String author,String searchKey) throws InterruptedException{
{
WebElement searchText = driver.findElement(By.xpath("//*[@id='lst-ib']"));
//search value in google searchbox
searchText.sendKeys(searchKey);
System.out.println("Welcome ->"+author+" Your search key is->"+searchKey);
Thread.sleep(3000);
String testValue = searchText.getAttribute("value");
System.out.println(testValue +"::::"+searchKey);
searchText.clear();
//Verify if the value in google search box is correct
Assert.assertTrue(testValue.equalsIgnoreCase(searchKey));
}
}
/**
* @return Object[][] where first column contains 'author'
* and second column contains 'searchKey'
*/
@DataProvider(name="SearchProvider")
public Object[][] getDataFromDataprovider(){
return new Object[][]
{
{ "Guru99", "India" },
{ "Krishna", "UK" },
{ "Bhupesh", "USA" }
};
}
}
Seine Arbeiten, Danke, –
@bhargavporapu Glücklich zu helfen. Wenn diese Antwort oder eine andere Lösung Ihr Problem gelöst hat, markieren Sie es als akzeptiert: stackoverflow.com/help/someone-answers –