WebDriver自动化测试工具(2)---基本操作
一.设置打开的浏览器大小/位置
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)---基本操作的更多相关文章
- WebDriver自动化测试工具(1)---环境搭建
Webdriver是一个前端自动化测试工具,可以模拟用户点击链接,填写表单,点击按钮等操作,下面介绍其使用 一.下载WebdriverC#类库以及对应浏览器驱动 http://www.selenium ...
- WebDriver自动化测试工具(3)---PhantomJS的使用
PhantomJS是一个基于webkit的javascript API.它使用QtWebKit作为它核心浏览器的功能,使用webkit来编译解释执行JavaScript代码.任何你可以在基于webki ...
- Selenium浏览器自动化测试工具
目录 Selenium浏览器自动化测试工具 Selenium模块在爬虫中的使用 Python简单使用Selenium Selenium的基本操作 Selenium爬取动态加载的数据 Selenium动 ...
- 手机GUI自动化测试工具选择
(Graphical User Interface,简称 GUI,又称图形用户接口) 我们需要针对自身产品的需求,从中选取一款合适的工具来实现自动化.对于移动客户端GUI的自动化而言,需要保证选取的工 ...
- Python WebDriver自动化测试
转载来自: http://www.cnblogs.com/fnng/p/3160606.html Webdriver Selenium 是 ThroughtWorks 一个强大的基于浏览器的开源自动化 ...
- Android 手机自动化测试工具有哪几种?
1.Monkey是Android SDK自带的测试工具,在测试过程中会向系统发送伪随机的用户事件流,如按键输入.触摸屏输入.手势输入等),实现对正在开发的应用程序进行压力测试,也有日志输出.实际上该工 ...
- 自动化测试工具QTP和SilkTest横向PK(转)
转自:http://www.uml.org.cn/Test/201405212.asp?artid=1686 众所周知,自动化测试工具曾几何时三足鼎立,Mercury QTP/WinRunner系.I ...
- 推荐五款Android 应用的自动化测试工具
如今自动化测试已经应用到每天的测试中.这不足为奇,因为自动化测试在测试过程中节约了时间,还能避免包括人为因素造成的测试错误和遗漏. 自动化测试工具选择很多.一些是开源的,一些非常贵.一些自动化工具是几 ...
- 开源Web自动化测试工具Selenium IDE
Selenium IDE(也有简写SIDE的)是一款开源的Web自动化测试工具,它实现了测试用例的录制与回放. Selenium IDE目前版本为 3.6 系列,支持跨浏览器运行,所以IDE的UI从原 ...
随机推荐
- Random Numbers Gym - 101466K dfs序+线段树
Tamref love random numbers, but he hates recurrent relations, Tamref thinks that mainstream random g ...
- Balanced Sequence(毒瘤啊)排序贪心 HDU多校
Problem Description Chiaki has n strings s1,s2,…,sn consisting of '(' and ')'. A string of this type ...
- vijos 1655 萌萌的糖果博弈 博弈
背景 用糖果来引诱小朋友学习是最常用的手法,绵羊爸爸就是用糖果来引诱萌萌学习博弈的. 描述 他把糖果分成了两堆,一堆有A粒,另一堆有B粒.他让萌萌和他一起按照下面的规则取糖果:每次可以任意拿走其中一堆 ...
- [洛谷P4774] [NOI2018]屠龙勇士
洛谷题目链接:[NOI2018]屠龙勇士 因为markdown复制过来有点炸格式,所以看题目请戳上面. 题解: 因为杀死一条龙的条件是在攻击\(x\)次,龙恢复\(y\)次血量\((y\in N^{* ...
- SourceTree for mac 注册过程(v2.7.6a)
背景 为啥要自己注册呢,往上一堆一堆的老版本许可证偏不用,就愿意定制自己的账号style. 搞了半天,还是觉得pycharm自带的git工具就挺好用了,闲的没事记录一下. 要点 百度搜索的地址可以进入 ...
- os.fork()
ret = os.fork() if ret == 0: child_suite # 子进程代码 else: parent_suite # 父进程代码 Python中的fork() 函数可以获得系统中 ...
- JAVA开发常用工具包
一个有经验的Java开发人员特征之一就是善于使用已有的轮子来造车.<Effective Java>的作者Joshua Bloch曾经说过:“建议使用现有的API来开发,而不是重复造轮子”. ...
- Bzoj4710 [Jsoi2011]分特产
Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 96 Solved: 62[Submit][Status][Discuss] Description ...
- 【Luogu】P3927 SAC E#1 - 一道中档题 Factorial
[题目]洛谷10月月赛R1 提高组 [题意]求n!在k进制下末尾0的个数,n<=1e18,k<=1e16. [题解]考虑10进制末尾0要考虑2和5,推广到k进制则将k分解质因数. 每个质因 ...
- 【bzoj】1927 [Sdoi2010]星际竞速
[算法]最小费用最大流 [题解]跟滑雪略有类似,同样因为可以重复所以不是最小路径覆盖. 连向汇的边容量为1足矣,因为一个点只会出去一次(路径结束). bzoj 1927 [Sdoi2010]星际竞速 ...