SpecflowとSelenium WebDriverを使用して実行される一連のUIテストがあります。一晩これらが突然動作を停止し、現在は各シナリオで次のエラーをスロー:Specflow Context IWebDriverの注入が失敗する
BoDi.ObjectContainerException:インターフェイスを解決することはできません。OpenQA.Selenium.IWebDriver(解像度パス:ステップクラス)
私たちは、その後、私たちのステップの各クラスで使用する各シナリオ、前に、当社のwebdriverを登録上のSpecflowコンテキストインジェクションを使用している:
[Binding]
public class Base
{
private readonly IObjectContainer _objectContainer;
private IWebDriver _webDriver;
public Base(IObjectContainer objectContainer)
{
_objectContainer = objectContainer;
}
[BeforeScenario]
public void Setup()
{
_webDriver = new ChromeDriver();
_objectContainer.RegisterInstanceAs<IWebDriver>(_webDriver);
}
....
}
の
手順ファイル:私は間違って何も見ることができないSpecflowのドキュメントでオンラインで見る
[Binding]
public class ProductSteps : TechTalk.SpecFlow.Steps
{
private readonly IWebDriver _driver;
public ProductSteps(IWebDriver driver)
{
_driver = driver;
}
}
- と私も今まで、この問題を持つ他の誰を表示少しを見つけることができます!
私はこれの底に到達しようとかなりの時間を費やしましたが、運がまったくありませんでした。
私たちはテストランナーとしてNUnitを使用しており、ナゲット経由で最新のアップデートを受けています。
こんにちはGaspar、これらのリンクのために多くのありがとう。残念ながら私たちはどこにも設定されていない別のBeforeScenarioフックを持っていませんが、フックの順番を見て、これが役立つかどうかを確かめます。 2つ目のリンクも興味深いように見えます。私たちを助けてくれるいくつかの変更を適用することができますか? –
この場合、バグである可能性があります(このパターンは使用していますが、このようなエラーは見られませんでしたが)。どのSpecFlowバージョンがこれを生成しますか?小規模の再編集を作成することが可能な場合は、ギブスに投稿してください。(Autofacの解決策はまだそれを修正することができます。) –