À l'aide de Communes Selenium WebDriver exemple
Je veux utiliser un commun WebDriver exemple à travers tous mes TestNG tests par l'extension de ma classe de test pour utiliser une classe de base, comme indiqué ci-dessous, mais il ne semble pas fonctionner :
public class Browser {
private static WebDriver driver = new FirefoxDriver();
public static WebDriver getDriver()
{
return driver;
}
public static void open(String url)
{
driver.get(url);
}
public static void close()
{
driver.close();
}
}
Je veux utiliser le WebDriver dans ma classe de test comme indiqué ci-dessous, mais je reçois le message d'erreur :
La méthode getDriver() n'est pas défini pour le type GoogleTest:
public class GoogleTest extends Browser
{
@Test
public void GoogleSearch() {
WebElement query = getDriver().findElement(By.name("q"));
//Enter something to search for
query.sendKeys("Selenium");
//Now submit the form
query.submit();
//Google's search is rendered dynamically with JavaScript.
//Wait for the page to load, timeout after 5 seconds
WebDriverWait wait = new WebDriverWait(getDriver(), 30);
//wait.Until((d) => { return d.Title.StartsWith("selenium"); });
//Check that the Title is what we are expecting
assertEquals("selenium - Google Search", getDriver().getTitle().toString());
}
}
Cela devrait fonctionner. Quelle IDE ou le compilateur que vous utilisez? Êtes-vous sûr que vous êtes en se référant au droit
Browser
classe?OriginalL'auteur user2850361 | 2013-12-22
Vous devez vous connecter pour publier un commentaire.
Le problème, c'est que votre
getDriver
méthode est statique.Solution #1: méthode non-statique (ce sera soit besoin de faire de l'
driver
variable non-statique, ou de l'utilisationreturn Browser.getDriver();
)Ou, appeler le
getDriver
, en utilisant la méthodeBrowser.getDriver
Ignorer mon dernier commentaire, j'ai utilisé simons solution
OriginalL'auteur Simon Forsberg
Vous avez besoin pour commencer votre pilote, l'un des nombreux solution est d'essayer @Avant d'ajouter, Junit s'exécuteront automatiquement pour vous.
OriginalL'auteur Andrian Durlestean