Selenium for C#的入門Demo

最近剛開始接觸Selenium, 發現不少例子都是用java寫的,由於本身學的java早就忘記了,如今一直都是用的C#,這裏本身參考java的代碼本身寫了一個C#,這裏用到的是WebDriver,也就是所謂的Selenium2.0吧java

首先是使用環境配置web

1)下載配置java環境,下載安裝JDK或者JRE,在JDK安裝完成後在cmd的指令輸入java查看java環境是否搭建完成,若是報「java is not recognized as an internal or external command」. 那麼請將JDK中bin的安裝路徑添加到環境變量Path中去(個人電腦右擊屬性—高級系統設置—環境變量—Path,這裏我係統是Win7的)chrome

2)下載並運行Selenium Server,官方下載地址:http://docs.seleniumhq.org/download/瀏覽器

要下載的Selenium Server包是Selenium-Server-standalone-2.39.0.jar。要下載的語言包是C#的Selenium-donet-2.39.0.zip安全

啓動Selenium測試服務器,在cmd命令下找到Selenium server包,而後運行java -jar Selenium-Server-standalone-2.39.0.jar服務器

3)編寫測試項目,在VS中新建一個單元測試項目,給項目添加引用,把C#的Selenium-donet-2.39.0包裏的dll文件(Selenium.WebDriverbackedSelenium.dll,ThoughtWorkd.Selenium.Core.dll,WebDriver.dll,WebDriver.Support.dll)添加到項目中,代碼以下。功能是使用的Firefox瀏覽器打開百度首頁,而後搜索Selenium。單元測試

using Microsoft.VisualStudio.TestTools.UnitTesting;
using OpenQA.Selenium;
using OpenQA.Selenium.Firefox;

namespace SeleniumTestProject
{
    [TestClass]
    public class SeleniumTest
    {
        [TestMethod]
        public void TestMethod()
        {

            IWebDriver driver = new FirefoxDriver();

            driver.Navigate().GoToUrl("http://www.baidu.com");
            driver.FindElement(By.Id("kw")).SendKeys("Selenium");
            driver.FindElement(By.Id("su")).Click();

            driver.Quit();
        }
    }
}

上面是建立了一個Firefox Driver的實例,由於firefox是默認安裝路徑,因此webdriver能夠直接訪問到它。若是你想用IE和Chrome瀏覽器,則須要另外下載IEDriverServer.exe 和chromeDriver.exe.測試

若是在使用IE瀏覽器的時候遇到一個異常說安全模式的問題,那麼我本身看到的一個解決辦法,就是設置IEDriverOpiton。具體代碼以下。個人IEDriverServer.exe放在IE的同級目錄下。ui

              InternetExplorerOptions ieO=new InternetExplorerOptions(); 
              //設置ingnore protected mode值爲真
              ieO.IntroduceInstabilityByIgnoringProtectedModeSettings=true; 
              IWebDriver driver = new InternetExplorerDriver(@"C:\Program Files\Internet Explorer",ieO);            
              driver.Navigate().GoToUrl("http://www.cnblogs.com");

 這樣IE瀏覽器就能夠正常打開,導航到博客園首頁。spa

相關文章
相關標籤/搜索