Monday, December 19, 2022

Parallel testing using unit setup,test,teardown

  class WebBrowserConfig

    {

        public IWebDriver? driver;


        public IWebDriver? GetWebDriver()

        {

            return driver;

        }


        public void SetWebDriver(string webBrowser)

        {


            switch (webBrowser.ToLower())

            {


                case "chrome":

                    new WebDriverManager.DriverManager().SetUpDriver(new ChromeConfig());

                    driver = new ChromeDriver();

                    break;


                case "firefox":

                    new WebDriverManager.DriverManager().SetUpDriver(new FirefoxConfig());

                    driver = new FirefoxDriver();

                    break;


                case "ie":

                    new WebDriverManager.DriverManager().SetUpDriver(new InternetExplorerConfig());

                    driver = new InternetExplorerDriver();

                    break;

                case "edge":

                    new WebDriverManager.DriverManager().SetUpDriver(new EdgeConfig());

                    driver = new EdgeDriver();

                    break;


            }


        }



        public MediaEntityModelProvider CaptureScreenshotAndReturnModel(string Name)

        {

            var screenshot = ((ITakesScreenshot)ObjectRepository.Driver).GetScreenshot().AsBase64EncodedString;

            return MediaEntityBuilder.CreateScreenCaptureFromBase64String(screenshot, Name).Build();

        }