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

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生成。
分享標(biāo)題:Webdriver(selenium2.0)+NUnit+C#(二)-創(chuàng)新互聯(lián)
當(dāng)前鏈接:http://chinadenli.net/article12/dsjedc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名、自適應(yīng)網(wǎng)站、移動網(wǎng)站建設(shè)、關(guān)鍵詞優(yōu)化、網(wǎng)站內(nèi)鏈、微信小程序
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容