Classe de base:modèle objet Page ne pas étendre pilote de la classe
protected WebDriver driver;
protected String URL = "https://www.example.com/";
public static String SignupURL = "https://www.example.com/login";
public Login loginpage;
@BeforeClass
public void setup()
{
System.setProperty("webdriver.chrome.driver","E:\\Selenium-Webdriver\\Chrome_Driver\\chromedriver.exe");
driver = new ChromeDriver();
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
driver.navigate().to(URL);
loginpage = PageFactory.initElements(driver,Login.class);
}
Connexion Classe:
protected WebDriver driver;
public Login(WebDriver driver) {
this.driver = driver;}
public Login Method1()
{
//Logic
}
LoginTest Classe:
public class LoginTest extends Base {
@Test
public void method1()
{
setup() //Have to Call it
//Logic
}
@Test
public void method2
{
setup() //Have to Call it
//Logic
}
}
Question pourquoi il faut appeler setup() méthode pour chaque méthode dans la classe de test.
Je suis déjà en train de prolonger la classe alors le pilote devrait appeler automatiquement mais ce n'est pas le cas. Lorsque je n'appelle pas setup() puis obtenir Exception Nullpointer, Si je l'appelle, puis l'ouverture du système nouveau navigateur pour chaque méthode.
pouvez-vous s'il vous plaît coller le message d'erreur complet que vous obtenez. Je pense que c'est parce que le script n'est pas capable d'identifier le pilote. –
À première vue, le code ressemble à OK, vous n'avez pas besoin d'appeler setup dans chaque méthode, pouvez-vous partager votre journal de trace peut-être générer un autre morceau de code, –
Utilisez l'annotation @BeforeTest et rendez le webdriver public. ..il fonctionne pour moi ...... je pense que cela va aussi vous aider – noor