使用NUnit来执行Selenium WebDriver测试

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

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

下载位置如下图

使用NUnit来执行Selenium WebDriver测试_第1张图片

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)

 

你可能感兴趣的:(selenium,NUnit)