1

У меня есть класс класса Navigation и я получил класс LeadExTest, который получен из класса Navigation. Оба класса имеют тип [TestClass]Метод теста из базового класса, не выполненный после того, как выполняется метод тестирования из производного класса

Теперь у меня есть упорядоченный тестовый файл, у которого есть несколько тестов, которые нужно выполнить в порядке, указанном ниже. AdminLogin сделать некоторые действия бросить браузер

AdminLogin, перейдите на страницу и выйти методы тестирования браузера относятся к навигации класса и сделать какое-то действие принадлежит leadextest классу

Когда я выполнить этот упорядоченный тестовый файл, админ логин и некоторые тестовые примеры действий выполняются просто отлично, но метод бросить курить не получает.

//Base class 

public class Navigation 
    { 
     protected static IWebDriver driver; 
     protected WebDriverWait wait; 
     protected StringBuilder verificationErrors; 
     private string baseURL; 
     //private bool acceptNextAlert = true; 
     protected static string advertiserId = "6570"; 
     protected static Actions builder; 
     [TestInitialize] 
     public void SetupTest() 
     { 
      if (driver == null) 
      { 
       driver = new FirefoxDriver(); 
       driver.Manage().Window.Maximize(); 
       baseURL = ConfigurationManager.AppSettings["base_url"].ToString(); 
       verificationErrors = new StringBuilder(); 
       //string url = @"https://stage.madisonlogic.com/login.aspx"; 
       //driver.Navigate().GoToUrl(url.ToString()); 
         driver.Navigate().GoToUrl(ConfigurationManager.AppSettings["test_url"].ToString()); 
      builder = new Actions(driver); 
     } 
     wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10)); 
    } 

[TestMethod] 
     public void adminLogin() 
     { 
      CommonFunctions.Login(driver, "rlodha", "a"); 
      if (IsElementPresent(By.ClassName("TopTitle"))) 
       Assert.AreEqual("Admin Center | Dashboard",  driver.FindElement(By.ClassName("TopTitle")).Text.Trim().ToString()); 
      else 
      Assert.Fail("Timed Out"); 
     } 
[TestMethod] 
     public void browserQuit() 
     { 
      CommonFunctions.BrowserQuit(driver); 
      Assert.IsNull(driver); 
     } 


//derived class 

[TestMethod] 
     public void Nav_Lead_Delivery() 
     { 
     builder.MoveToElement(driver.FindElement(By.Id("Content_AdvertiserMenu1_LeadsBtn"))).Perform(); 

      driver.FindElement(By.Id("Content_AdvertiserMenu1_LeadExportBtn")).Click(); 
      Console.Write("Hi"); 
     } 

ответ

1

Ну, вы просто объявляете это еще одним методом испытаний, поэтому, конечно, это не сработает.

Вы должны дать MSTest гораздо больше подсказки о когда для вызова метода, поэтому заменить его ClassCleanup сказать MSTest, чтобы вызвать этот метод, когда все тесты.

+0

да, вы правы. Мне пришлось вызвать метод очистки, как вы сказали. –