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

    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. sublime Text 块编辑方法

    比如我们要把SQL语句中的多表查询结果封装成pojo SQL: SELECT a.id, a.title, a.sell_point, a.price, a.image, b.`name` categ ...

  2. iOS-查询数据库-->指定数据表中的当前数据行的总数量

    很多时候,我们在查询一个表的时候,不想得到里面的记录内容,只是想简单的得到符合查询条件的记录条数. FMDB中有一个很简单的方法就可以实现,见下面的代码实例: #import "FMdata ...

  3. ACM.hdu1025

    to get the ans of how many roads at most that can be built between two line without intersection of ...

  4. js push

    $('.main_div').each(function(){ product_id = parseInt($(this).data('id')); product_num = parseInt($( ...

  5. 如何在阿里云服务器部署Django

    这段时间一直在搞我的网站——大学易,一个大学生评课网站,主要是提供课程的详尽信息(比如老师会不会经常点名,有没有期中考试),课程资料的下载等等. 这篇文章主要是分享给那些菜鸟,就是像我一样完全没有搞过 ...

  6. 【Android】Android之USB

    [转载请注明出处] 首先介绍一个概念:USB Host and Accessory Android通过两种模式支持一系列的USB外围设备和Android USB附件(实现了Android附件协议的硬件 ...

  7. PowerDesigner16 修改表或表的字段Name的时候不让Code不自动跟着变

    在修改表或表的字段Name的时候不让Code不自动跟着变,设置如下: tools-> General   Options-> Dialog 去掉勾选 Name To Code mirror ...

  8. java collection (二)

    1.集合的概念: (1)现实生活中:很多的事物凑在一起. (2)数学中的集合:具有共同属性的事物的总体. (3java 中的集合类: 是一种工具类,就像是容器,存储任意数量的具有共同属性的对象.(集合 ...

  9. js数组的误解

    js数组实际是个残废货,没有关联数组这一说,要实现真正意义上的关联数组只能用对象,那你肯定不服气了,说怎么没有关联数组,我来给你写一个: var arr = []; arr['a'] = 1; arr ...

  10. 【bzoj3648】环套树+点分治+树状数组

    tree 1s 128M  by hzw czy神犇种了一棵树,他想知道地球的质量 给定一棵n个点的树,求树上经过点的个数≥K的路径数量ans 对于部分数据,树上某两点间会多出最多一条无向边 输入数据 ...