最近刚开始接触Selenium, 发现很多例子都是用java写的,因为自己学的java早就忘记了,现在一直都是用的C#,这里自己参考java的代码自己写了一个C#,这里用到的是WebDriver,也就是所谓的Selenium2.0吧
首先是使用环境配置
1)下载配置java环境,下载安装JDK或者JRE,在JDK安装完成后在cmd的指令输入java查看java环境是否搭建完成,如果报“java is not recognized as an internal or external command”. 那么请将JDK中bin的安装路径添加到环境变量Path中去(我的电脑右击属性—高级系统设置—环境变量—Path,这里我系统是Win7的)
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的同级目录下。
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浏览器就可以正常打开,导航到博客园首页。