您好,登錄后才能下訂單哦!
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生成。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。