Selenium C # Mstest - chromedriver.exe не существует.Getdirectory () ссылается на какой-то другой каталог при выполнении команд vis mstest - PullRequest
0 голосов
/ 07 декабря 2018

когда я запускаю тест на селен из VS2017, он может успешно выбрать драйверы, НО, когда я запускаю тот же тест с помощью команды mstest - внутренне он ссылается на какой-то другой каталог!

C: \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ Professional \ Common7 \ IDE \ mstest.exe / testcontainer: .. \ Test \ Sun.TestAutomation.dll / test: "myfristtest" / файл результатов: .. \ Test \TestResultLog.trx // Команды Mstest

OpenQA.Selenium.DriverServiceNotFoundException: OpenQA.Selenium.DriverServiceNotFoundException: файл C: \ Test \ xsed_2018-12-07 10_55_51 \ Out \ chromedriver.exe не существует.Драйвер можно загрузить по адресу http://chromedriver.storage.googleapis.com/index.html.

код:

this.DriversPath = Path.GetFullPath(Path.Combine(Directory.GetCurrentDirectory()));

дополнительная информация:

драйверы доступны в папке отладки, почему мой mstest ссылается надрайверы в папке " Out " ??

Ответы [ 2 ]

0 голосов
/ 25 января 2019

Этот пост немного устарел, но так как он был возвращен на передний план, это может кому-то помочь.

  1. Я бы скачал пакет ChromeDriver Nuget.Таким образом, вы всегда получите самую последнюю версию.

  2. Щелкните правой кнопкой мыши на свой проект> свойства.Нажмите на вкладку Build.

  3. набор условных символов компиляции = _PUBLISH_CHROMEDRIVER

  4. в наборе выходного пути: bin \ Debug \

После установки очистите решениеи пересоберите, и вы должны увидеть файл в каталоге bin.

для вашего вызова chromedriver он должен выглядеть примерно так:

Driver = new ChromeDriver(Path.Combine(GetBasePath, @"bin\debug"), options);

Затем добавьте код GetBasePath:

  public static string GetBasePath
    {
        get
        {
            var basePath = Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location);
            basePath = basePath?.Substring(0, basePath.Length - 10);
            return basePath;
        }
    }
0 голосов
/ 25 января 2019

Этот ПК -> Свойства -> Расширенные настройки системы -> Переменные среды -> Системные переменные -> Папка Variable PATH add, где у вас есть chromedriver.exe

...