ページ オブジェクトで Specflow を使用していますが、非常によく似たシナリオがたくさんあります。例えば:
Given I view the 'page1'
When I click 'link1'
Then I should be on 'page2'
Given I view the 'page1'
When I click 'link2'
Then I should be on 'page3'
「クリックすると...」ステップを1ステップバインドする方法を確認するのに苦労しています。ページ オブジェクトのパターンに従う場合、「それなら...」ステップでナビゲートした特定のページ オブジェクトを常に返す必要があります。
現在のページ オブジェクトを格納するプロパティを含む基本ステップ定義クラスがあります。
public class BaseStep : Steps
{
protected RemoteWebDriver Driver {
get
{
return ScenarioContext.Current.Get<RemoteWebDriver>();
}
set
{
ScenarioContext.Current.Set(value);
}
}
protected BasePageObject CurrentPageObject
{
get
{
return ScenarioContext.Current.Get<BasePageObject>();
}
set
{
ScenarioContext.Current.Set(value);
}
}
}
シナリオごとに 1 つのステップ定義を記述したくはありません。これは、1 つのメソッドにまとめたい多くのコードを再利用するためです。では、どうすればステップ定義を再利用し、引き続きページ オブジェクト パターンを使用できるでしょうか?
ありがとう。