Selenium NUnit запускается из Main () или exe - PullRequest
0 голосов
/ 08 июня 2018

Я хочу запустить все тесты на селен из exe.Я попробовал решение, упомянутое в этой теме ( Запустить тестовое устройство NUnit программно )

Это то, что я написал

   public class Runner{

    public static int Main(string[] args)
    {
        return new AutoRun(Assembly.GetCallingAssembly())
                   .Execute(new String[]{"/test:Runner.Foo.Login" });}

       [TestFixture]
       public class Foo
    {
        IWebDriver driver;

        [Test]
        public void Initialize()
        {
            driver = new FirefoxDriver();// (@"C:\Selenium\Firefox");
            driver.Manage().Window.Maximize();
            driver.Manage().Timeouts().ImplicitWait = 
                  TimeSpan.FromSeconds(10);
            Console.WriteLine("Setup Browser");
        }
        [Test]
        public void Login()
        {
            eWb.Classes.LoginUser.eWbLogin(driver, ConfigurationSettings.AppSettings["UserId"],
                ConfigurationSettings.AppSettings["Password"], "CU");
           }}}}

Консоль открывается и не можетпрочитайте метод теста Login.

1 Ответ

0 голосов
/ 08 июня 2018

Вы передаете Assembly.GetCallingAssemby() в качестве аргумента конструктора AutoRun.Поскольку это в вашем Main, вызывающей сборки нет, поэтому я предполагаю, что переданное значение равно нулю.Получив указание найти тесты в null, AutoRun в значительной степени гарантированно не найдет их.

Правильный вызов - вообще не передавать аргументы, поскольку тесты, по сути, находятся в сборке, создающейвызов.AutoRun сам определит, что является вызывающей сборкой, и должен найти ваши тесты.

Ответ SO, на который вы указываете, не использует GetCallingAssembly.Использует GetExecutingAssembly.Однако, поскольку ни один аргумент не работает одинаково хорошо, я бы использовал это.На самом деле, с NUnit, вы, как правило, должны сначала использовать значения по умолчанию и только настраивать аргументы там, где это необходимо.

Рекомендуется также прочитать документацию: https://github.com/nunit/docs/wiki

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...