原文转载: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. 制作图表二、使用图片工厂设置RGB改变图标颜色

    亮绿 RGB:76 175 80灰色 RGB:151 151 153

  2. 一些常见maven仓库

    <repositories> <repository> <id>spring-releases</id> <url>https://repo ...

  3. mysqldump database table

    一)在同一个数据库服务器上面进行数据表间的数据导入导出: 1. 如果表tb1和tb2的结构是完全一样的,则使用以下的命令就可以将表tb1中的数据导入到表tb2中: insert into db2.tb ...

  4. 从零开始学Linux[三]:shell脚本学习

    测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试

  5. Unity NGUI 资源下载

    https://www.assetstore.unity3d.com/cn/#!/content/2413 版本: 3.9.1 下载地址 密码:amtz

  6. [原创]java WEB学习笔记98:Spring学习---Spring Bean配置及相关细节:如何在配置bean,Spring容器(BeanFactory,ApplicationContext),如何获取bean,属性赋值(属性注入,构造器注入),配置bean细节(字面值,包含特殊字符,引用bean,null值,集合属性list map propert),util 和p 命名空间

    本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...

  7. 假如 Micromedia 没被收购,会不会早于 Apple 推动 H5、CSS3 的发展

    看着如今大行其道的 H5.CSS3,想想当年的“网页三剑客”,不禁感慨:假如 Micromedia 没被收购,会不会早于 Apple 推动 H5.CSS3 的发展? 当时 Apple 先是询问 Ado ...

  8. 匹配所有不可见元素,或者type为hidden的元素

    查找隐藏的 tr HTML 代码: <table> <tr style="display:none"><td>Value 1</td> ...

  9. 利用a标签特性解析地址(附加属性说明)

    首先我们看看实例 a.href = 'http://www.cnblogs.com/wayou/p/'; console.log(a.host); 控制台会输出 "www.cnblogs.c ...

  10. mysql已有数据字符集转换

    下面模拟把latin1字符集的数据转换为utf8字符集 一.创建测试表和测试数据: 1.修改会话级别的连接字符集 mysql > set names latin1; 查看一下: 2.创建测试表: ...