Selenium for C#的入门Demo
原文转载: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的更多相关文章
- Selenium关键字驱动测试框架Demo(Java版)
Selenium关键字驱动测试框架Demo(Java版)http://www.docin.com/p-803493675.html
- 【SSH系列】初识spring+入门demo
学习过了hibernate,也就是冬天,经过一个冬天的冬眠,当春风吹绿大地,万物复苏,我们迎来了spring,在前面的一系列博文中,小编介绍hibernate的相关知识,接下来的博文中,小编将继续介绍 ...
- 基于springboot构建dubbo的入门demo
之前记录了构建dubbo入门demo所需的环境以及基于普通maven项目构建dubbo的入门案例,今天记录在这些的基础上基于springboot来构建dubbo的入门demo:众所周知,springb ...
- apollo入门demo实战(二)
1. apollo入门demo实战(二) 1.1. 下载demo 从下列地址下载官方脚本和官方代码 https://github.com/nobodyiam/apollo-build-scripts ...
- lua入门demo(HelloWorld+redis读取)
1. lua入门demo 1.1. 入门之Hello World!! 由于我习惯用docker安装各种软件,这次的lua脚本也是运行在docker容器上 openresty是nginx+lua的各种模 ...
- netty入门demo(一)
目录 前言 正文 代码部分 服务端 客服端 测试结果一: 解决粘包,拆包的问题 总结 前言 最近做一个项目: 大概需求: 多个温度传感器不断向java服务发送温度数据,该传感器采用socket发送数据 ...
- canal入门Demo
关于canal具体的原理,以及应用场景,可以参考开发文档:https://github.com/alibaba/canal 下面给出canal的入门Demo (一)部署canal服务器 可以参考官方文 ...
- 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 ...
- SpringBoot 入门 Demo
SpringBoot 入门 Demo Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从 ...
随机推荐
- DIA
Dia Tutorial: http://www.seanet.com/~hgg9140/comp/diatut/all/all.html Dia Tutorial
- [SLAM]2D激光扫描匹配方法
1.Beam Model 2.Likehood field for k=1:size(zt,1) if zt(k,2)>0 d = -grid_dim/2; else d = grid_dim/ ...
- jquery实时监测手机号是否符合规则,并根据手机号检测结果将提交按钮设为不同状态
功能: 输入手机号,实时判断手机号输入的是否符合规则: 如果不合规则,则提交按钮为禁用状态,手机号信息不可提交,按钮显示灰色背景: 如果符合规则,则可提交所输入的手机号信息,并将按钮背景设成红色. 代 ...
- file_get_contents抓取远程URL内容
/** * POST URL * @param $url * @param null $post * @return false / string */ public static function ...
- Java回顾之Spring基础
第一篇:Java回顾之I/O 第二篇:Java回顾之网络通信 第三篇:Java回顾之多线程 第四篇:Java回顾之多线程同步 第五篇:Java回顾之集合 第六篇:Java回顾之序列化 第七篇:Java ...
- css3 flex
<!DOCTYPE html> <html> <head> <style> .first-face { display: flex; justify-c ...
- window.event对象详尽解析
event代表事件的状态,例如触发event对象的元素.鼠标的位置及状态.按下的键等等. event对象只在事件发生的过程中才有效. event的某些属性只对特定的事件有意义.比如,fromEleme ...
- RCNN--对象检测的又一伟大跨越 2(包括SPPnet、Fast RCNN)(持续更新)
继续上次的学习笔记,在RCNN之后是Fast RCNN,但是在Fast RCNN之前,我们先来看一个叫做SPP-net的网络架构. 一,SPP(空间金字塔池化,Spatial Pyramid Pool ...
- android的listview的详细用法
listview是android开发中的一个极其重要的控件.所以,要学会android,如果这个不会,基本是不会android的. 这里按照几个步骤介绍这个控件的使用. 1. 使用API中ArrayA ...
- 二叉树JAVA实现
为了克服对树结构编程的畏惧感和神秘感,下定决心将二叉树的大部分操作实现一遍,并希望能够掌握二叉树编程的一些常用技术和技巧.关于编程实现中的心得和总结,敬请期待!~ [1] 数据结构和表示: 二叉树的 ...