中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Webdriver(selenium2.0)+NUnit+C# (二)

發布時間:2020-08-02 06:11:38 來源:網絡 閱讀:559 作者:chenxai 欄目:軟件技術
namespace SeleniumTests
{
    [TestFixture]
    public class Login
    {
        private IWebDriver driver;
        private StringBuilder verificationErrors;
        private string baseURL;
        private bool acceptNextAlert = true;
        
        [SetUp]
        public void SetupTest()
        {
            driver = new FirefoxDriver();
            baseURL = "URL";
            verificationErrors = new StringBuilder();
        }
        
        [TearDown]
        public void TeardownTest()
        {
            try
            {
                driver.Quit();
            }
            catch (Exception)
            {
                // Ignore errors if unable to close the browser
            }
            Assert.AreEqual("", verificationErrors.ToString());
        }
        
        [Test]
        public void TheLoginTest()
        {
            driver.Navigate().GoToUrl(baseURL + "/login");
            driver.FindElement(By.Name("username")).Clear();
            driver.FindElement(By.Name("username")).SendKeys("USERNAME");
            driver.FindElement(By.Name("password")).Clear();
            driver.FindElement(By.Name("password")).SendKeys("PASSWORD");
            driver.FindElement(By.XPath("http://button[@type='submit']")).Click();
        }
     }
  }

上面是用selenium ide 錄制的某個頁面的登錄操作代碼。像是輸入用戶名和密碼的代碼就有點重復多余繁瑣,那就可以封裝一個叫SendKeys的方法(包括clear和sendkeys的動作),而不需要每次去找這個element,先clear,然后再重復去找這個element再sendkeys。類似這種常用的操作都可以封裝起來,放在一個Common類里(Common項目)而一些操作case放在另外的項目中。下面就是對上述例子進行封裝操作。

namespace TestSelenium.Test
{
    [TestFixture]
    class Test
    {
        TestSelenium.Common.Common Testcorde = new Common.Common();
        [SetUp]
        public void Setup()
        {
            Testcorde.SetupTest();
        }
        [TearDown]
        public void TearDown()
        {
            Testcorde.TeardownTest();
        }
        [Test]
        public void Test01()
        {     
          Testcorde.TheLoginTest("URL","USERNAME","PASSWORD" );            
        }
    }
}

上面Test01就是登錄操作的case,TheLoginTest(string baseurl, string username, string password)就是整個登錄操作的方法。像是SetupTest、TeardownTest、SendKeys、Click、TheLoginTest都放在下面的Common類下。

namespace TestSelenium.Common
{
    public class Common
    {
        public IWebDriver driver;
        public void SetupTest()
        {
            driver = new InternetExplorerDriver(@"C:/AUTO");
            driver.Manage().Window.Maximize();
        }
        public void TeardownTest()
        {
            driver.Quit();
        }
        public void SendKeys(By by, string Message)
        {
            driver.FindElement(by).Clear();
            driver.FindElement(by).SendKeys(Message);
        }
        public void Click(By by)
        {
            driver.FindElement(by).Click();
        }
        public void TheLoginTest(string baseurl, string username, string password)
        {
            driver.Navigate().GoToUrl(baseurl + "/login");  
            SendKeys(By.Name("username"),username);      
            SendKeys(By.Name("password"), password);
            Click(By.XPath("http://button[@type='submit']"));
        }
    }
}


ps.Common項目為類庫輸出類型,case項目需要引用Common項目并且保持都是ANYCPU生成。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

明星| 长岭县| 靖州| 宁远县| 新和县| 汕尾市| 德兴市| 锦州市| 长宁县| 启东市| 宁蒗| 武夷山市| 铜川市| 女性| 黎城县| 济源市| 油尖旺区| 射阳县| 威海市| 上犹县| 华安县| 同江市| 克东县| 千阳县| 南安市| 滁州市| 墨玉县| 炎陵县| 舒兰市| 工布江达县| 阜阳市| 大关县| 剑阁县| 饶阳县| 湘潭市| 夏河县| 景德镇市| 罗平县| 宁城县| 长乐市| 理塘县|