2017-10-25 8 views
0

私はキュウリ春Frameworkは、Googleの電卓クエリ

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  | 

私が考える使用しようとしています下に定義されているいくつかの値を持っている機能ファイルを持っているGoogleの電卓 を自動化するためにSpringフレームワークを作成していますを自動化しますそして、この機能ファイルから任意の数を計算に 私の手順を使用することができることをテストを作成する場合は、次のとおりです。

@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(); 
}} 

私の質問はどのように私は数を選びだしとすることができます作品をコーディングしないで答えたその機能のテーブルから確認されていますか?

答えて

0

あなたがテーブルからの回答を比較するために、以下のように同じよう@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"); 

} 

一度これを試してみてください。それは動作するはずです

+0

しかし、私はどのように@Whenが動作するのだろうか、私はこのテストで変数の数字を挿入するのだろうか? – Hamlet76

+0

このgoogleTextBox.sendKeys(number1)を試してみました。 –

+0

、または数字1と数字2を文字列として宣言するか、文字列に変換してからgoogleTextBox.sendKeys(number1)とgoogleTextBox.sendKeys(number2)を使用します。 –