执行派生类的测试方法后,不执行基类的测试方法

时间:2013-12-03 18:27:24

标签: c# inheritance selenium-webdriver ordered-test test-class

我有一个测试类导航,并且我派生了从Navigation类派生的类LeadExTest。这两个类都是[TestClass]类型

现在我有一个有序的测试文件,我需要按照下面显示的顺序执行一些测试。 后台管理 做一些动作 退出浏览器

AdminLogin,导航到页面并退出属于Navigation类的浏览器测试方法,并做一些属于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 个答案:

答案 0 :(得分:1)

嗯,你只是宣称它是另一种测试方法,所以当然这不会起作用。

当调用你的方法时,你需要给MSTest更多关于的线索,所以用ClassCleanup替换它以告诉MSTest在所有测试完成后调用这个方法