2017-06-30 7 views
0

私はCucumber-SeleniumとExcelをデータファイルとして使用しています。私の質問は、Excel上のデータに基づいて複数の時間に機能ファイルを実行する方法です。たとえば、私はExcelで10行のデータを持っていて、それを1行ずつ実行したいと思っていました。データの最初の行の後に次の行に移動して実行します。Excelファイルをデータテーブルとして使用するCucumber Selenium

フィーチャーファイル: シナリオ:ログイン

Given I open the browser and access this URL 
When I enter the "<Username>" and "<Password>" 
Then I am able to login 

ステップ定義: パブリッククラスログイン{

WebDriver driver = null; 
String url;   


@Given("^I open the browser and access this URL$") 
public void navigateToUrl() throws Throwable{ 

    System.setProperty("webdriver.chrome.driver", ""); 
    driver = new ChromeDriver(); 
    url = DataTable.getDataTableValue(0, 2, 2); 
    driver.get(url); 
    driver.manage().window().maximize(); 
} 

@When("^I enter the \"([^\"]*)\" and \"([^\"]*)\"$") 
public void enterCredentials(String userName, String password) throws Throwable { 

    userName = DataTable.getDataTableValue(0, 1, 1); 
    password = DataTable.getDataTableValue(0, 1, 2); 

    driver.findElement(By.id("username")).sendKeys(userName); 
    driver.findElement(By.id("password")).sendKeys(password); 
} 

@Then("^I am able to login$") 
public void clickLoginButton() throws Throwable { 
    driver.findElement(By.id("Login")).click(); 
} 

}

ここ

である私のデータテーブル(Excelファイル)

| ID |ユーザー名|パスワード

| ID1 | username1 | password1

| ID2 |ユーザー名2 |パスワード2

| ID3 |ユーザー名|パスワード3

| ID4 |ユーザー名4 | password4

+0

私はまた、最近セレンを学ぼうとしています。 「Apache POI」APIを検索する必要があります。私はあなたの問題を解決すると思う。 – limonik

+0

あなたのお返事ありがとうございます。私はすでにデータテーブルとしてExcelを使用していますが、Cucumber-Seleniumの反復方法はわかりません。 基本的には、フィーチャファイルでExample Tableを使用するのではなく、何千ものデータを処理しているのでExcelを使いたいと思っています。 – Sachi

+0

@Sachi私はそれが可能ではないと思います。あなたが達成したいことがデータ駆動型のアプローチか、データを異なるExcelファイルに抽象化したいのかどうかはわかりません。後でApache POIで行うことができますが、まずは不可能です。 –

答えて

0

コンテンツをExcelシートで繰り返したい場合は、ステップ定義のコードにそのコンテンツを実装する必要があります。ガーキンでそれをするためのサポートはありません。

Apache POIは、反復を実装する際のオプションです。

行動主導型開発(BDD)の目的はコミュニケーションであることを理解することが重要です。ガーキンはコミュニケーションの一方法です。ガーキンのシナリオは、問題を理解しているほとんどの人が読んで理解することができます。

Gherkinにいくつかの真実があり、Excelにいくつかのものがある場合は、コミュニケーションのためにキュウリとGherkinを使用せず、テストツールとして使用することになります。これは大丈夫かもしれません。しかし、キュウリをテストツールとして使用すると、使い易い他のツールがあります。 JUnitはその1つです。

関連する問題