Я пытаюсь запустить скрипт в Eclipse, используя драйвер Firefox и селен, используя формат огуречного огурца для BDD.Я получаю много исключений, когда я запускаю это на Junit, это мой код для файла Java следующим образом.
annotation.java
package annotation;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import cucumber.annotation.en.Given;
import cucumber.annotation.en.Then;
import cucumber.annotation.en.When;
public class annotation {
WebDriver driver = null;
@Given("^I am on Facebook login page$")
public void goToFacebook() {
driver = new FirefoxDriver();
driver.navigate().to("https://www.facebook.com/");
}
@When("^I enter username as \"(.*)\"$")
public void enterUsername(String arg1) {
driver.findElement(By.id("email")).sendKeys(arg1);
}
@When ("^I enter password as \"(.*)\"$")
public void enterPassword(String arg1) {
driver.findElement(By.id("pass")).sendKeys(arg1);
driver.findElement(By.id("u_0_v")).click();
}
@Then("^Login should fail$")
public void checkFail() {
if(driver.getCurrentUrl().equalsIgnoreCase(
"https://www.facebook.com/login.php?login_attempt=1&lwv=110")){
System.out.println("Test1 Pass");
} else {
System.out.println("Test1 Failed");
}
driver.close();
}
@Then("^Relogin option should be available$")
public void checkRelogin() {
if(driver.getCurrentUrl().equalsIgnoreCase(
"https://www.facebook.com/login.php?login_attempt=1&lwv=110")){
System.out.println("Test2 Pass");
} else {
System.out.println("Test2 Failed");
}
driver.close();
}
}
Это исключения, которые я получаюкак только я выполню тест
Добавление: аннотация
# Так фон можно использовать для устранения повторяющихся шагов
Фон: [90m # annotation \ outline.feature: 4[0m Пользователь переходит на Facebook, учитывая, что я на странице входа в Facebook
# Сценарий с AND Сценарий: [90m # annotation \ outline.feature: 9 [0m [90mWhen [0m [90mI, введите имя пользователя как "[0m [90m [1mTOM [0m [90m »[0m [90m # annotation.enterUsername (String) [0m [1A [31mWhen [0m [31mI] введите имя пользователя как« [0m [31m [1mTOM [0m [31m »[0m [90m # аннотация].enterUsername (String) [0m [31mjava.lang.NullPointerException at annotation.annotation.enterUsername (annotation.java:22) в ✽. Когда я ввожу имя пользователя как «TOM» (annotation \ outline.feature: 10) [0m [90mAnd[0m [90mI введите пароль как «[0m [90m [1mJERRY [0m [90m» »[0m [90m # annotation.enterPassword (String) [0m [1A [36mAnd [0m [36mI] введите пароль как «[0m [36m [1mJERRY [0m [36m»] [0m [90m # annotation.enterPassword (String) [0m [90mThen [0m [90mLogin должен произойти сбой[0m [90m # annotation.checkFail () [0m [1A [36mThen [0m [36mLogin должен потерпеть неудачу] [0m [90m # annotation.checkFail () [0m
# Так фон можно использовать для устраненияповторяющиеся шаги
Фон: [90m # annotation \ outline.feature: 4 [0m Пользователь переходит на Facebook, учитывая, что я на странице входа в Facebook
# Сценарий с НО Сценарий: [90m # annotation \ outline.feature: 15 [0m [90mWhen [0m [90mI введите имя пользователя как «[0m [90m [1mTOM [0m [90m» »[0m [90m # annotation.enterUsername (String) [0m [1A [31mWhen [0m [31mI введите имя пользователя как«[0m [31m [1mTOM [0m [31m »[0m [90m # annotation.enterUsername (String) [0m [31mjava.lang.NullPointerException at annotation.annotation.enterUsername (annotation.java:22) в ✽. Когда я ввожу имя пользователя)как "TOM" (аннотация \ outline.feature: 16) [0m [90mAnd [0m [90mI введите пароль как "[0m [90m [1mJERRY [0m [90m» [0m [90m # аннотация].enterPassword (String) [0m [1A [36mAnd [0m [36mI] введите пароль как «[0m [36m [1mJERRY [0m [36m»] [0m [90m # annotation.enterPassword (String) [0m [90mThen [0m [90mLogin следует)fail [0m [90m # annotation.checkFail () [0m [1A [36mThen [0m [36mLogin должен завершиться с ошибкой [0m [90m # annotation.checkFail () [0m [90mBut [0m [90mRelogin опция должна быть доступна [0m [90m #]annotation.checkRelogin () [0m [1A [36mBut [0m [36mRelogin] должна быть доступна опция [0m [90m # annotation.checkRelogin () [0m
java.lang.NullPointerException в annotation.annotation.enterUsername (annotation).java: 22) в W. Когда я ввожу имя пользователя как «TOM» (annotation \ outline.feature: 10)
java.lang.NullPointerException в annotation.annotation.enterUsername (annotation.java:22) вHen.Когда я ввожу имя пользователя как «TOM» (аннотация \ outline.feature: 16)
Это мой файл outline.feature
Feature: annotation
#This is how background can be used to eliminate duplicate steps
Background:
User navigates to Facebook Given
I am on Facebook login page
#Scenario with AND
Scenario:
When I enter username as "TOM"
And I enter password as "JERRY"
Then Login should fail
#Scenario with BUT
Scenario:
When I enter username as "TOM"
And I enter password as "JERRY"
Then Login should fail
But Relogin option should be available