-1

@BeforeClass не запускается мои тесты в WebDriver, Java, и я не знаю, куда я иду неправильно@BeforeClass не запускается тесты

@BeforeClass 
public static void setup() { 
    driver = new FirefoxDriver(); 
    driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); 
    driver.get(baseUrl + "login"); 
    driver.findElement(By.id("username")).sendKeys("myUserName"); 
    driver.findElement(By.id("password")).sendKeys("myPassword"); 
    driver.findElement(By.id("loginBTN")).click(); 
} 

После кода я начинаю регулярное тестирование:

@Test 
public void firstTest() { 
    //myTestCode 
} 

После попытки запуска, все тесты терпят неудачу, WebDriver не запускается, и т.д. ...

было бы хорошо иметь это, так как я должен проверить страницу, где я должен быть зарегистрирован в (с @ Перед тем как w ebdriver начинается перед каждым испытанием, поэтому очевидно, что я нуждался бы в @BeforeClass для этого.)

+0

Вы не можете запустить драйвер перед классом, потому что этот объект/экземпляр никогда не существовал, сначала вам нужен класс. – Zach

+0

Две вещи: я бы только ожидал, что '@ BeforeClass' вызывается один раз, и после его запуска JUnit будет запускать тесты. Кроме того, не могли бы вы указать, какую неудачу вы получаете? Вы получаете исключение? Используете ли вы то же поле 'driver' в своих тестах, которые вы настраиваете? – Makoto

+0

Какое исключение вы получаете? – HemaSundar

ответ

0
@BeforeClass 
public static void setup() { 

// Это должно быть здесь для этого, чтобы работать и с этим здесь означает, что его единственный местный к этому методу
Драйвер Webdriver;

driver = new FirefoxDriver(); 
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); 
driver.get(baseUrl + "login"); 
driver.findElement(By.id("username")).sendKeys("myUserName"); 
driver.findElement(By.id("password")).sendKeys("myPassword"); 
driver.findElement(By.id("loginBTN")).click(); 

}

Тогда ваш тест будет работать

@Test 

public void firstTest() { 
//myTestCode 

}

+0

Вы не внесли никаких изменений в мой код, кроме добавленного комментария, который не имеет отношения к ответу. Пожалуйста, поправьте меня, но вы забыли ответ? : P –

+0

Привет, комментарий относится к вашему ответу, потому что его объяснение того, что вы создаете драйвер объекта, будет существовать только до того, как любой класс как таковой всегда будет иметь исключение с нулевым указателем. – Zach

0

Пример кода: Надеется, что это будет работать.

public class OpenBrowsers { 

WebDriver driver = null; 

@BeforeClass 
public void beforeClass() { 
    System.out.println("beforeClass"); 
    driver = new FirefoxDriver(); 
} 

@Test 
public void openGoogle() { 
    System.out.println("openGoogle"); 
    driver.get("www.google.com"); 
} 

@Test 
public void openYahoo() { 
    System.out.println("openYahoo"); 
    driver.get("www.yahoo.com"); 
} 

@AfterClass 
public void afterClass() { 
    driver.close(); 
    System.out.println("afterClass"); 
}} 
+0

Я пробовал это, все та же ошибка: java.lang.NullPointerException - ошибка. –

Смежные вопросы