0
Specflowプロジェクトでは、私のフィーチャーファイルで2つのシナリオを定義しました。しかし私のプログラムを実行すると、ブラウザは最初のシナリオの後に閉じます。リモートサーバーとの接続がないため、テストに失敗します。Specflowで最初のシナリオを完了した後にブラウザが終了する
どうすれば解決できますか?
Feature: Check functionality of dashboard
@SmokeTest
@Browser:Chrome
Scenario: Check dashboard page is loaded
Given I have navigated to application
And I typed emailid and password
| Email | Password |
| [email protected] | test1234 |
When I clicked login button
Then I should see dashboard
Scenario: Check trading partners page is loaded
Given I am on Trading Partner page
When I click on trading partners link
Then I should see trading partners page
後、私のPackage.config
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Autofac" version="3.1.1" targetFramework="net461" />
<package id="Autofac.Configuration" version="3.1.0" targetFramework="net461" />
<package id="Baseclass.Contrib.SpecFlow.Selenium.NUnit" version="1.3.1" targetFramework="net461" />
<package id="ExcelDataReader" version="2.1.2.3" targetFramework="net461" />
<package id="ImpromptuInterface" version="5.6.2" targetFramework="net461" />
<package id="MSTest.TestAdapter" version="1.1.18" targetFramework="net461" />
<package id="MSTest.TestFramework" version="1.1.18" targetFramework="net461" />
<package id="NUnit" version="2.6.0.12054" targetFramework="net461" />
<package id="NUnitTestAdapter.WithFramework" version="2.0.0" targetFramework="net461" />
<package id="Selenium.Chrome.WebDriver" version="2.30" targetFramework="net461" />
<package id="Selenium.Support" version="3.4.0" targetFramework="net461" />
<package id="Selenium.WebDriver" version="3.4.0" targetFramework="net461" />
<package id="SharpZipLib" version="0.86.0" targetFramework="net461" />
<package id="SpecFlow" version="1.9.0" targetFramework="net461" />
<package id="SpecFlow.Assist.Dynamic" version="1.0.2" targetFramework="net461" />
</packages>
ある関連のステップファイルを参照してください。この問題を解決する
namespace DX2Functional.Steps
{
[Binding]
class DashboardSteps
{
[Given(@"I have navigated to application")]
public void GivenIHaveNavigatedToLoginUrl()
{
Browser.Current.Navigate().GoToUrl(ConfigurationManager.AppSettings["seleniumBaseUrl"]);
CommonMethods.driver = Browser.Current;
PropertiesCollection.currentPage = new Login();
}
[Given(@"I typed emailid and password")]
public void GivenITypedEmailidAndPassword(Table table)
{
dynamic tableDetails = table.CreateDynamicInstance();
string email = tableDetails.Email;
Console.Write("Email is " + email);
string passowrd = tableDetails.Password;
Console.Write("password is " + passowrd);
PropertiesCollection.currentPage.As<Login>().enterUerEmailAndPassword(email, passowrd);
}
[When(@"I clicked login button")]
public void WhenIClickedLoginButton()
{
PropertiesCollection.currentPage = PropertiesCollection.currentPage.As<Login>().clickLoginButton();
}
[Then(@"I should see dashboard")]
public void ThenIShouldSeeDashboard()
{
PropertiesCollection.currentPage.As<Dashboard>().IsloadedIn();
}
[Given(@"I am on Trading Partner page")]
public void GivenIamOnTradingPartnerPage()
{
PropertiesCollection.currentPage.As<Dashboard>().IsloadedIn();
}
[When(@"I click on trading partners link")]
public void WhenIClickOnTradingPartnersLink()
{
PropertiesCollection.currentPage.As<Dashboard>().clickTradingPrtnersLink();
}
[Then(@"I should see trading partners page")]
public void ThenIShouldSeeTradingPartnersPage()
{
PropertiesCollection.currentPage.As<TradingPartners>().IsTPListLoaded();
}
}
}
あなたはAfterScenarioメソッドとフックのファイルを持っていますか?または、終了する場所、またはWebdriverを終了する場所でコードを共有できますか? –
フックファイルがありません。また、私はブラウザを明示的に閉じないでください –
ブラウザを自動化するライブラリはどれですか?あなたはpackage.configを投稿できますか?そして、あなたはこれらのシナリオで持っているステップのバインディングコードを共有できますか? –