0

Webdriver テスターの多くは、Firefox 47 のリリースで Webdriver.FirefoxDriver が壊れたことを知っています。私が見つけることができるすべてのドキュメントは、新しい FirefoxDriver が Marionette であることを教えてくれます。

そこで、https://github.com/mozilla/geckodriver/releasesから最新の実行可能ファイルをダウンロードし て、wires.exe に名前を変更し、テスト ディレクトリに移動しました。

これが私のセットアップ方法です

[TestFixture("chrome")]
[TestFixture("firefox")]
//[TestFixture("internet explorer")]
[Category("ExistingUser")]
public class ExistingUserTestSuite
{
    public string browser;
    public IWebDriver Driver { get; set; }
    public UserInfo User { get; set; }
    private static readonly log4net.ILog log = log4net.LogManager.GetLogger("ExistingUserTest");

    public ExistingUserTestSuite(string browser)
    {
        this.browser = browser;
    }



    [OneTimeSetUp]
    public void SetUp()
    {
        switch (browser)
        {
            case "chrome":
                Driver = new ChromeDriver();
                break;
            case "firefox":
                FirefoxOptions op1 = new FirefoxOptions();
                op1.IsMarionette = true;
                op1.AddAdditionalCapability("marionette", true);
                Driver = new FirefoxDriver(op1);
                break;

実行しようとすると、次の例外が発生します。テストを開始すると、wire.exe プロセスがプロセス エクスプローラーで実行されていることがわかります。

Test Name:  ChangePlan
Test FullName:  POMAuctivaTest.TestSuite.ExistingUserTestSuite("firefox").ChangePlan
Test Source:    c:\git\POMAuctivaTest\POMAuctivaTest.TestSuite\ExistingUserTestSuite.cs : line 359
Test Outcome:   Failed
Test Duration:  0:00:00.0000001

Result Message: OneTimeSetUp: System.InvalidOperationException : entity not found

これは、例外を生成するスタック トレースです。

   at OpenQA.Selenium.Remote.RemoteWebDriver.UnpackAndThrowOnError(Response errorResponse)
   at OpenQA.Selenium.Remote.RemoteWebDriver.Execute(String driverCommandToExecute, Dictionary`2 parameters)
   at OpenQA.Selenium.Remote.RemoteWebDriver.StartSession(ICapabilities desiredCapabilities)
   at OpenQA.Selenium.Remote.RemoteWebDriver..ctor(ICommandExecutor commandExecutor, ICapabilities desiredCapabilities)
   at OpenQA.Selenium.Firefox.FirefoxDriver..ctor(FirefoxDriverService service, FirefoxOptions options, TimeSpan commandTimeout)
   at OpenQA.Selenium.Firefox.FirefoxDriver..ctor(FirefoxOptions options)
   at POMAuctivaTest.TestSuite.ExistingUserTestSuite.SetUp() in c:\git\POMAuctivaTest\POMAuctivaTest.TestSuite\ExistingUserTestSuite.cs:line 56

私が目にするほとんどのアドバイスは、システム パスが更新されていることを確認することに関するものです。test/bin/debug フォルダーから wire.exe を削除すると、次の例外が発生するため、これは当てはまらないと思います。

Test Name:  ChangePlan
Test FullName:  POMAuctivaTest.TestSuite.ExistingUserTestSuite("firefox").ChangePlan
Test Source:    c:\git\POMAuctivaTest\POMAuctivaTest.TestSuite\ExistingUserTestSuite.cs : line 359
Test Outcome:   Failed
Test Duration:  0:00:00.0000001

Result Message: OneTimeSetUp: OpenQA.Selenium.DriverServiceNotFoundException : The wires.exe file does not exist in the current directory or in a directory on the PATH environment variable. The driver can be downloaded at https://github.com/jgraham/wires/releases.

これは、ドライバーを見つけているが、何らかの理由で のインスタンスを作成できないことを示していますFirefoxDriver()

ここで何をすべきかわかりません。どんな助けでもいいでしょう。

4

1 に答える 1