Webdriver(selenium2.0)+NUnit+C# (二)
发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,namespace SeleniumTests{ [TestFixture] public class Login { private IWebDriver drive
千家信息网最后更新 2026年10月31日Webdriver(selenium2.0)+NUnit+C# (二)
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("//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("//button[@type='submit']")); } }}ps.Common项目为类库输出类型,case项目需要引用Common项目并且保持都是ANYCPU生成。
项目
就是
封装
登录
代码
方法
繁琐
例子
动作
密码
常用
用户
用户名
类型
面的
页面
生成
输入
输出
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网科技工作委员会
苏州找大状互联网科技有限公司
科技互联网企业
深圳齐家互联网科技
互联网科技博客
互联网科技英文翻译
盛创互联网科技有限公司
安控科技rtu产品工业互联网
福州新华互联网科技学校 知乎
互联网软件和科技
智腾互联网科技有限公司
互联网科技革命什么开始
青岛科技大学互联网大赛研究生
知域互联网科技有限公司大骗子
互联网科技和信息
富国互联网科技002692
广西泛欧互联网科技有限公司
现代互联网科技公司
数字科技和互联网金融哪个好
东风日产互联网科技公司叫什么
电子科技大学互联网
掌上梦互联网科技
长亮科技 互联网金融
四个字互联网科技公司取名
互联网经济与金融科技
互联网时代科技型公司的机会
万物互联网智能科技
北京军民互联网科技公司
唐山双旺合互联网科技产业园
保山浩联互联网科技有限公司