使用NUnit来执行Selenium WebDriver测试

来源:互联网 发布:政府网络危机公关 编辑:程序博客网 时间:2024/05/29 14:08

1)下载并安装NUnit-2.6.1,下载地址http://download.csdn.net/detail/czh4869623/4582584

2)下载WebDriver.dll下载地址如下http://docs.seleniumhq.org/download/

下载位置如下图


3)下载Selenium不同浏览器驱动(Firefox,IE,Chrome)下载地址http://download.csdn.net/detail/czh4869623/4742208

4)打开VS(我这里是VS2010)File > New Project > Class Library > Name: SeleniumNUnitTest

5)添加引用:在项目中添加文件夹dll然后将WebDriver.Support.dll和WebDriver.dll放入dll文件夹中,并添加引用(如你的项目是4.0就添加4.0的dll),添加nunit.framework引用。

6)将chromedriver.exe,IEDriverServer.exe,Ionic.Zip.dll添加到项目的根目录下并修改“复制到输出目录”:“如果较新则复制”。

7)编写代码如下

using System;using System.Collections.Generic;using System.Linq;using System.Text;using OpenQA.Selenium;using NUnit.Framework;using OpenQA.Selenium.IE;using OpenQA.Selenium.Chrome;using OpenQA.Selenium.Firefox;using OpenQA.Selenium.Support.UI;using System.Collections.ObjectModel;namespace SeleniumNUnitTest{    [TestFixture]    public class Class1    {        private IWebDriver driver;        public Class1() { }        [SetUp]        public void SetUp()        {            Console.WriteLine("SetUp");            LoadDriverByBrowser("firefox");        }        private void LoadDriverByBrowser(string browserName)        {            switch (browserName)            {                case "ie"://打开IE浏览器(确保已安装IE),会调用\bin\Debug下的IEDriverServer.exe。                    driver = new InternetExplorerDriver();                    break;                case "chrome"://打开Chrome浏览器(确保已安装Chrome),会调用\bin\Debug下的chromedriver.exe。                    driver = new ChromeDriver();                    break;                case "firefox"://打开FireFox浏览器(确保已安装FireFox),会调用\bin\Debug下的Ionic.Zip.dll。                    driver = new FirefoxDriver();                    break;                default:                    driver = new InternetExplorerDriver();                    break;            }            driver.Navigate().GoToUrl("http://www.baidu.com");        }        [Test]        public void Do()        {            driver.FindElement(By.Id("kw1")).SendKeys("hyddd");            driver.FindElement(By.Id("su1")).Click();            //显示等待,用10s读取元素,如果读取不到将抛出异常,每500ms读取一次。            WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10));            IWebElement element = wait.Until<IWebElement>((d) =>            {                return d.FindElement(By.Id("content_left"));            });            Assert.True(element.Displayed);        }        [TearDown]        public void TearDown()        {            Console.WriteLine("TearDown");            driver.Quit();        }    }}

8)按F6生成成功

9)打开NUnit(File—Open Project)找到测试项目生成的dll(D:\test\SeleniumNUnitTest\SeleniumNUnitTest\bin\Debug\SeleniumNUnitTest.dll)