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

相关文章
相关标签/搜索