Cucumber Spring Framework для автоматизации запроса Google Calculator

Я создаю Spring Framework для автоматизации Google Calculator. У меня есть файл функций, значения которого определены ниже.

Feature: Google Calculator
  Calculator should calculate correct calculations

  Scenario Outline: Add numbers
    Given I am on google calculator page
    When I add number "<number1>" to number "<number2>"
    Then I should get an answer of "<answer>"

Examples:
  | number1 | number2 | answer |
  | 1       | 2       | 3      |
  | 4       | 5       | 9      |

Я пытаюсь использовать данный, когда, затем, чтобы создать тест, который может использовать любое число из этого файла функций в калькуляторе. Мои шаги:

@Scope("test")
@ContextConfiguration("classpath:spring-context/test-context.xml")
public class GivenSteps {
@Autowired
private WebDriver webDriver;


@Given("^I am on google calculator page$")
public void iAmOnGoogleCalculatorPage() throws Throwable {
    webDriver.get("https://www.google.ie/search?q=calculator");
}

@When("^I add number \"([^\"]*)\" to number \"([^\"]*)\"$")
public void i_add_number_to_number(Integer number1, Integer number2) throws Throwable {
    WebElement googleTextBox = webDriver.findElement(By.id("cwtltblr"));


    googleTextBox.sendKeys(Keys.ENTER);

    throw new PendingException();


}
@Then("^I should get the correct answer again$")
public void thecorrectanswertest2() throws Throwable{

    WebElement calculatorTextBox = webDriver.findElement(By.id("cwtltblr"));
    String result = calculatorTextBox.getText();
}}

У меня вопрос, как мне написать код, где можно выбрать номер и проверить ответ из таблицы в функции?

1 ответ

Вы пытались использовать @Then, как показано ниже, чтобы сравнить ответ из таблицы?-

@Then("^I should get the correct answer \"([^\"]*)\" again$")
public void thecorrectanswertest2(String answer) throws Throwable{

WebElement calculatorTextBox = webDriver.findElement(By.id("cwtltblr"));
String result = calculatorTextBox.getText();

if(answer.equalsIgnoreCase(result))
  System.out.println("Test Passed");

}

Попробуйте это один раз. Он должен работать

Другие вопросы по тегам