私は私の自動化フレームワークでは、以下の設定を実装している:C#+ webdriverをPageFactory + NUnitの3並列化可能な
C#セレンwebdriverを
をIObjectContainer
Specflow
NUnitの3並列可能
- の
のXPath(およびすべてのセレクタが)単に「民間のconst文字列」
コードサンプルHomePageSteps(作業コード)のように定義されています
[Binding]
public class HomePageSteps
{
private IWebDriver _driver;
public HomePageSteps(IWebDriver driver)
{
_driver = driver;
}
private const string LogoTwo = "//img[@alt='xpath']";
[Given(@"I navigation to site")]
public void GivenINavigationToSite()
{
_driver.Navigate().GoToUrl("http://website.com/");
_driver.FindElement(By.XPath(LogoTwo)).Click();
}
}
しかし、私はwebdriverをPageFactoryを処理するために属性を使用したいです私のページオブジェクト。私は「Nunit 3 Parallelizable」を使用しない他のプロジェクトでやったことがあります。
コード例(NOT作業コード):
[Binding]
public class HomePageSteps
{
private IWebDriver _driver;
public HomePageSteps(IWebDriver driver)
{
_driver = driver;
}
[FindsBy(How = How.XPath, Using = "//img[@alt='xpath']")]
public IWebElement logo { get; set; }
[Given(@"I navigation to site")]
public void GivenINavigationToSite()
{
_driver.Navigate().GoToUrl("http://website.com/");
logo.Click();
}
}
ここでの問題は、 'ロゴ' はNULLであることです。この問題がPageFactory、またはspecflowなどの「Nunit 3 Parallelizable」の使用制限に関連しているかどうかはわかりません。
誰でもガイダンスをお願いできますか?