t.me/atinfo_chat Telegram группа по автоматизации тестирования

Есть необходимость выполнять каждый тест в новом окне браузера


(dmarapov) #1

Тестовый проект состоит из 2х классов, в одном метода которые используются в тестах, во втором сами сценарии.

 

using OpenQA.Selenium.Support.UI;
...
...
using OpenQA.Selenium.Support.PageObjects;
 
namespace Web.Test.Heavy.Search
{
 
    public class tl
    {
 
        private static IWebDriver driver;
        private static StringBuilder verificationErrors;
 
 
        public static void SetupTest()
        {
            driver = new FirefoxDriver();
            verificationErrors = new StringBuilder();
            driver.Navigate().GoToUrl("____");//
            ....
        }
 
        private TestContext testContextInstance;
 
        public TestContext TestContext
        {
            get
            {
                return testContextInstance;
            }
            set
            {
                testContextInstance = value;
            }
        }
 
 
        public static IWebDriver Driver
        {
            get { return driver; }
        }
 
 
и куча всяких методов
 
   }
}

Класс с тестовыми сценариями

 

 

using System;
...
...
using OpenQA.Selenium.Support.PageObjects;
 
 
namespace Web.Test.Heavy.Search
{
    [TestClass]
    public class SearchByContracts
    {
 
        [ClassCleanup]
        public static void Teardown()
        { tl.TeardownTest(); }
 
 
        [TestInitialize]
        public static void Login(TestContext context)
        {
            tl.SetupTest();
        }
 
 [TestMethod]       
public void OrderTenderStagesChack(Variants filterName, string paramName)
        { 
......
        }
}}
 
При выполнении тестов, все выполняются в 1 одном окне.
Хотя для каждого должно открываться свое и закрываться после выполнения.
Важно, что бы метод  SetupTest() остался в tl.
 
Можете что-то подсказать??
 

(Taras) #2

уже обговаривалось, я заводил тему на форуме, поищите внимательно


(Mykhailo Poliarush) #3

с С# не знаком, но могу подсказать, что вам надо удостовериться, что методы TestInitialize и ClassCleanup вызываются именно, каждый раз перед тестом, а не перед классом.

просто насколько я просто даже читать могут, то ClassCleanup запускается после выполнения класса, а не метода, вам надо что-то на подобии TestCleanup