2

テスト クラス Navigation があり、Navigation クラスから派生したクラス LeadExTest を派生させました。どちらのクラスも [TestClass] タイプです

これで、以下に示す順序で実行する必要があるいくつかのテストを含む、順序付けられたテスト ファイルができました。AdminLogin 何らかのアクションを実行してブラウザを終了

AdminLogin、ページに移動してブラウザーを終了するテスト メソッドは、Navigation クラスに属し、いくつかのアクションを実行することは、leadexttest クラスに属します

この順序付けられたテスト ファイルを実行すると、管理者ログインしていくつかのアクション テスト ケースを実行すると問題なく実行されますが、ブラウザを終了する方法はヒットしません。

//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");
         }
4

1 に答える 1

1

別のテスト メソッドとして宣言しているだけなので、もちろんこれは機能しません。

メソッドをいつ呼び出すかについて MSTest にもっと多くの手がかりを与える必要があるため、これをClassCleanupに置き換えて、すべてのテストが完了したときにこのメソッドを呼び出すように MSTest に指示します。

于 2013-12-03T22:06:46.620 に答える