2016-09-06 10 views
3

私は、マルチブラウザで自動テストを行うために、ユニットテストプロバイダmstestでspecflow + selenium webdriverを使用しています。 現在、いくつかのシナリオがあり、IE、Chrome、Firefoxなどのさまざまなブラウザで実行できます。 3つのブラウザをテストするためには、それぞれにタグを付けてシナリオを3回書く必要があります。specflow + selenium webdriver + mstestを使用してマルチブラウザでテストする方法は?

@ie 
Scenario: IE Using valid user to login 
    Given I have navigated to the login page 
    And I type the 'username' and 'password' 
    When I click login button 
    Then I should see the home page 
@chrome 
Scenario: Chrome Using valid user to login 
    Given I have navigated to the login page 
    And I type the 'username' and 'password' 
    When I click login button 
    Then I should see the home page 
@firefox 
Scenario: Firefox Using valid user to login 
    Given I have navigated to the login page 
    And I type the 'username' and 'password' 
    When I click login button 
    Then I should see the home page 

ここで、テストケースは異なるブラウザでのみ同じです。あまりにも多くの冗長コードがあります。ですから、別のブラウザ用に複数のタグを持つシナリオを1つだけ作成し、以下のように3つのテストを生成させたいと思います。

@ie 
@chrome 
@firefox 
Scenario: Using valid user to login 
    Given I have navigated to the login page 
    And I type the 'username' and 'password' 
    When I click login button 
    Then I should see the home page 

どうすればいいですか?または他の解決策がありますか? ありがとう!

答えて

2

ユーザ名とパスワードのtestdataでテストケースのExcelシートを作成し、実行するブラウザを指定します。Excelシートからデータを取得するスクリプトを書くことができます。異なるブラウザのケースを作成します。

3

プレーンなMSTestでこれが可能かどうかはわかりません。
あなたのユースケースは1つで、なぜSpecFlow +ランナーが作成されたのですか?

は、この例を見てください:https://github.com/techtalk/SpecFlow.Plus.Examples/tree/master/SeleniumWebTest

これはSpecFlow +ランナーを使用して、あなたの要件を実装しています。

詳細情報:私はSpecFlow +(Runner/Excel)の開発者の一人です。

関連する問題