If you make methods and fields static the same result. How to fix this exception?I commented out all sections with exceptions
Stackoverflow requires more text don't pay attention
Stackoverflow requires more text don't pay attention
DriverManager class
public class DriverManager {
private static WebDriver driver;
public static void openBrowser() {
System.setProperty("webdriver.chrome.driver", "C:/Users/User/Downloads/chromedriver.exe");
driver = new ChromeDriver();
driver.manage().window().maximize();
driver.navigate().to("http://todomvc.com/examples/react/#/");
try{
Thread.sleep(1000);
}
catch(InterruptedException ie){
}
}
public static WebDriver getDriver() {
return driver;
}
public static void closeBrowser() {
driver.close();
}
public static void cleanCookies() {
driver.manage().deleteAllCookies(); //Here exception
}
}
BasePage class. All tests here
public abstract class BasePage {
protected WebDriver driver;
public BasePage(){
PageFactory.initElements(DriverManager.getDriver(), this);
this.driver = DriverManager.getDriver();
}
}
All tests here
public class TestNGPriority extends BaseTest {
@Test(priority = 1)
public void executeTest() {
MainPage.getInstance().inputValues(); //Here exception
Assert.assertEquals("firstItem", MainPage.getInstance().verifyStr);
}
@Test(priority = 2)
public void executeTestTwo() {
MainPage.getInstance().checkAllButton();
Assert.assertEquals("completed", MainPage.getInstance().verifyCrossOut);
}
@Test(priority = 3)
public void executeTestThree() {
MainPage.getInstance().clickActiveButton();
Assert.assertEquals("firstItem", MainPage.getInstance().verifyStr);
}
}
BaseTest
public abstract class BaseTest {
@BeforeClass
public static void beforeTestRun () {
DriverManager.openBrowser();
}
@AfterClass
public static void afterTestSuite() {
DriverManager.closeBrowser();
}
@AfterMethod
public void cleanCookies() {
DriverManager.cleanCookies(); //Here exception
}
}
MainPage class. All locators here
public class MainPage extends BasePage {
@FindBy(xpath = "//input[contains(@class,'new-todo')]")
private WebElement inputForm;
@FindBy(xpath = "//ul[contains(@data-reactid,'.0.1.1')]")
private WebElement findItem;\
@FindBy(xpath = "//input[contains(@class,'toggle-all')]")
private WebElement checkAllItems;
@FindBy(className = "//li[contains(@class,'completed')]")
private WebElement crossOutItem;
@FindBy(xpath = "//a[contains(@href,'#/active')]")
private WebElement activeButton;
public static MainPage getInstance() {
return new MainPage(); //Here exception
}
public String verifyStr = findItem.getText(); //Here exception
public String verifyCrossOut = crossOutItem.getText();
public void inputValues() {
inputForm.sendKeys("firstItem");
inputForm.sendKeys(Keys.ENTER);
}
public void checkAllButton() {
checkAllItems.click();
}
public void clickActiveButton() {
activeButton.click();
}
}
Aucun commentaire:
Enregistrer un commentaire