一.设置打开的浏览器大小/位置

    driver.Manage().Window.Maximize();  //最大化
driver.Manage().Window.Position = new System.Drawing.Point(, ); //设置其位置
driver.Manage().Window.Size = new System.Drawing.Size(, ); //设置其大小,设置了最大化就无需在设置Size

二.查找元素使用的选择器

    driver.FindElement(By.Id("id"));  //==driver.FindElementById
driver.FindElement(By.ClassName("class"));
driver.FindElement(By.CssSelector("#id")); //使用过jquery的一般都喜欢用这种

三.网页标题/内容

    var content = driver.PageSource;  //网页内容
var title = driver.Title; //网页标题

四.执行Js(可以给其传递参数)

    (driver as IJavaScriptExecutor).ExecuteScript("alert('Hi')");

可以通过执行js来操作网页,比如有一些网页需要滚动到一定位置才通过Ajax取数据的时候可以用js来操作,使其滚动条滑动

五.等待

    //在20S内,如果_driver.FindElements(By.Id("id")).Count>0条件成立则跳出,超出20S则会抛出异常
//return true则跳出,return false则继续循环里面的代码
//其实这里和用while类次
//作用:有些网页通过滚动到某个地方的时候才用ajax读取数据,这时候就需要等待其读取完成,那就可以通过这样做操作
new WebDriverWait(driver, TimeSpan.FromSeconds()).Until<bool>((_driver) =>
{
return _driver.FindElements(By.Id("id")).Count > ;
});

WebDriverWait类需要引用OpenQA.Selenium.Support.UI

六.设置网页加载Timeout和查找元素Timeout以及脚本Timeout

    driver.Manage().Timeouts().PageLoad = TimeSpan.FromSeconds();  //如果网页10S内没有加载完全,则会抛出异常
driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(); //如果查找元素在10S内还没有找到(driver.FindElement(By.Id("id"))),则会抛出异常
driver.Manage().Timeouts().AsynchronousJavaScript = TimeSpan.FromSeconds(); //如果异步脚本10S内没有加载完全,则会抛出异常

七.截屏

 Screenshot scrFile = driver.GetScreenshot();
scrFile.SaveAsFile(文件名, ScreenshotImageFormat.Png);

基本操作就这些了,网上找到一个不错的封装

WebDriver自动化测试工具(2)---基本操作的更多相关文章

  1. WebDriver自动化测试工具(1)---环境搭建

    Webdriver是一个前端自动化测试工具,可以模拟用户点击链接,填写表单,点击按钮等操作,下面介绍其使用 一.下载WebdriverC#类库以及对应浏览器驱动 http://www.selenium ...

  2. WebDriver自动化测试工具(3)---PhantomJS的使用

    PhantomJS是一个基于webkit的javascript API.它使用QtWebKit作为它核心浏览器的功能,使用webkit来编译解释执行JavaScript代码.任何你可以在基于webki ...

  3. Selenium浏览器自动化测试工具

    目录 Selenium浏览器自动化测试工具 Selenium模块在爬虫中的使用 Python简单使用Selenium Selenium的基本操作 Selenium爬取动态加载的数据 Selenium动 ...

  4. 手机GUI自动化测试工具选择

    (Graphical User Interface,简称 GUI,又称图形用户接口) 我们需要针对自身产品的需求,从中选取一款合适的工具来实现自动化.对于移动客户端GUI的自动化而言,需要保证选取的工 ...

  5. Python WebDriver自动化测试

    转载来自: http://www.cnblogs.com/fnng/p/3160606.html Webdriver Selenium 是 ThroughtWorks 一个强大的基于浏览器的开源自动化 ...

  6. Android 手机自动化测试工具有哪几种?

    1.Monkey是Android SDK自带的测试工具,在测试过程中会向系统发送伪随机的用户事件流,如按键输入.触摸屏输入.手势输入等),实现对正在开发的应用程序进行压力测试,也有日志输出.实际上该工 ...

  7. 自动化测试工具QTP和SilkTest横向PK(转)

    转自:http://www.uml.org.cn/Test/201405212.asp?artid=1686 众所周知,自动化测试工具曾几何时三足鼎立,Mercury QTP/WinRunner系.I ...

  8. 推荐五款Android 应用的自动化测试工具

    如今自动化测试已经应用到每天的测试中.这不足为奇,因为自动化测试在测试过程中节约了时间,还能避免包括人为因素造成的测试错误和遗漏. 自动化测试工具选择很多.一些是开源的,一些非常贵.一些自动化工具是几 ...

  9. 开源Web自动化测试工具Selenium IDE

    Selenium IDE(也有简写SIDE的)是一款开源的Web自动化测试工具,它实现了测试用例的录制与回放. Selenium IDE目前版本为 3.6 系列,支持跨浏览器运行,所以IDE的UI从原 ...

随机推荐

  1. ImageNet: what is top-1 and top-5 error rate?

    https://stats.stackexchange.com/questions/156471/imagenet-what-is-top-1-and-top-5-error-rate Your cl ...

  2. 使用freemarker生成word、html时图片显示问题

    使用freemarker生成word.html时图片显示问题 博客分类: Java 使用freemarker生成word时图片显示问题使用freemarker生成html时图片显示问题使用iText生 ...

  3. python模拟android屏幕高频点击工具

    一.环境 windows 10  + python3.6 二.需求 1.模拟android设备高频点击事件: 2.模拟规定次数的点击事件或模拟规定时间内的点击事件: 三.code 1.模拟规定时间内的 ...

  4. redis.conf 配置

    daemonize yes #以后台daemon方式运行redis pidfile "/var/run/redis.pid" #redis以后台运行,默认pid文件路径/var/r ...

  5. SVN服务器更换IP,客户端重新定位

    svn服务器更换ip,后客户端需要重新定位,操作如下: 1.找到你的项目文件所在的根目录,右键点击空白地方,弹出菜单 TortoiseSVN-->Relocate 点击Relocate ,弹出重 ...

  6. mybatis在Mapper的xml文件中的转义字符的处理

    XML转义字符 < < 小于号 > > 大于号 & & 和 &apos; ’ 单引号 " " 双引号 用转义字符进行替换 例如 SE ...

  7. jquery ajax的知识点

    jquery中的ajax方法参数总是记不住,这里记录一下. 1.url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. 2.type: 要求为String类型的参数,请求方式(p ...

  8. PHP扩展--Oracle客户端(oci8)安装

    下载Oracle客户端 官方下载地址: Linux X86-64 同意协议,下载以下文件: oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm ...

  9. redis的安装和常用命令

    一.redis的安装 1.windows安装redis 下载地址:https://github.com/MSOpenTech/redis/releases. Redis 支持 32 位和 64 位.这 ...

  10. 【NOIP】提高组2015 运输计划

    [题意]n个点的树,m条链,求将一条边的权值置为0使得最大链长最小. [算法]二分+树上差分 [题解] 最大值最小化问题,先考虑二分最大链长. 对所有链长>mid的链整体+1(树上差分). 然后 ...