原文转载:http://www.cnblogs.com/halia/p/3562132.html?utm_source=tuicool

最近刚开始接触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浏览器就可以正常打开,导航到博客园首页。

Selenium for C#的入门Demo的更多相关文章

  1. Selenium关键字驱动测试框架Demo(Java版)

    Selenium关键字驱动测试框架Demo(Java版)http://www.docin.com/p-803493675.html

  2. 【SSH系列】初识spring+入门demo

    学习过了hibernate,也就是冬天,经过一个冬天的冬眠,当春风吹绿大地,万物复苏,我们迎来了spring,在前面的一系列博文中,小编介绍hibernate的相关知识,接下来的博文中,小编将继续介绍 ...

  3. 基于springboot构建dubbo的入门demo

    之前记录了构建dubbo入门demo所需的环境以及基于普通maven项目构建dubbo的入门案例,今天记录在这些的基础上基于springboot来构建dubbo的入门demo:众所周知,springb ...

  4. apollo入门demo实战(二)

    1. apollo入门demo实战(二) 1.1. 下载demo 从下列地址下载官方脚本和官方代码 https://github.com/nobodyiam/apollo-build-scripts ...

  5. lua入门demo(HelloWorld+redis读取)

    1. lua入门demo 1.1. 入门之Hello World!! 由于我习惯用docker安装各种软件,这次的lua脚本也是运行在docker容器上 openresty是nginx+lua的各种模 ...

  6. netty入门demo(一)

    目录 前言 正文 代码部分 服务端 客服端 测试结果一: 解决粘包,拆包的问题 总结 前言 最近做一个项目: 大概需求: 多个温度传感器不断向java服务发送温度数据,该传感器采用socket发送数据 ...

  7. canal入门Demo

    关于canal具体的原理,以及应用场景,可以参考开发文档:https://github.com/alibaba/canal 下面给出canal的入门Demo (一)部署canal服务器 可以参考官方文 ...

  8. C#中缓存的使用 ajax请求基于restFul的WebApi(post、get、delete、put) 让 .NET 更方便的导入导出 Excel .net core api +swagger(一个简单的入门demo 使用codefirst+mysql) C# 位运算详解 c# 交错数组 c# 数组协变 C# 添加Excel表单控件(Form Controls) C#串口通信程序

    C#中缓存的使用   缓存的概念及优缺点在这里就不多做介绍,主要介绍一下使用的方法. 1.在ASP.NET中页面缓存的使用方法简单,只需要在aspx页的顶部加上一句声明即可:  <%@ Outp ...

  9. SpringBoot 入门 Demo

    SpringBoot   入门 Demo Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从 ...

随机推荐

  1. cocoa pods报错The dependency `Reveal-iOS-SDK` is not used in any concrete target.

    Podfile错误写法,会报错The dependency `Reveal-iOS-SDK` is not used in any concrete target. platform:ios,'7.0 ...

  2. 【转】SQLServerDBA十大必备工具---让生活轻松点

    曾经和一些DBA和数据库开发人员交流时,问他们都用过一些什么样的DB方面的工具,大部分人除了SSMS和Profile之外,基本就没有使用过其他工具了: 诚然,SSMS和Profile足够强大,工作的大 ...

  3. 解决 Android SDK下载和更新失败“Connection to https://dl-ssl.google.com refused."

    缘由: 更新sdk,遇到了更新下载失败问题: Fetching https://dl-ssl.google.com/android/repository/addons_list-2.xml Fetch ...

  4. [tp3.2.1]查询(2)

    <?php namespace Home\Controller; use Think\Controller; use Think\Model; class QueryController ext ...

  5. Android安装失败 Installation error code: -110

    在系统开发过程中,开发的app管理器,发现怎么安装都是失败. 详细的查看了log发现. I/ActivityManager(  899): START {dat=file:///mnt/sdcard/ ...

  6. android第三方登陆

    实现QQ.微信.新浪微博和百度第三方登录(Android Studio) 前言: 对于大多数的APP都有第三方登录这个功能,自己也做过几次,最近又有一个新项目用到了第三方登录,所以特意总结了一下关于第 ...

  7. Create and Use Custom Attributes

    http://www.codeproject.com/Articles/1811/Creating-and-Using-Attributes-in-your-NET-applicat Create a ...

  8. WPF:基础知识

    WPF:1.数据驱动 2.UI定义与运行逻辑分离 一. 1.编译 /t:exe 命令行程序:/t:winexe 图形用户界面程序:/t:library 动态链接库 2.启动 1)编译后生成的App.g ...

  9. 清除dns缓存

    Linux清除dns缓存命令 /etc/init.d/dnsmasq restart

  10. ajax用法流程

    这里是用javascript做的一个ajax的一个用法以及总结概括.供友友们进行参考. 1 window.onload=function() { var oBtn=document.getElemen ...