Robot Framework与Web界面自动化测试学习笔记:定位到新窗口
在页面操作中,有时会需要打开新的窗口(新的网页不在当前窗口显示,而是在新的tab页显示),
比如利用 window.open("newurl")
或者 <a href="newurl" target="_blank">新窗口</a>
这时候新的页面都会在新窗口打开。
这样我们可能就需要对新页面中的内容进行检查和定位。
但这样前提是我们需要定位到该新的窗口。
比如我们用例中有这样一个语句:
click button id=newWin
上面这个语句对应的button的click事件响应代码中调用了 window.open("newurl") 打开一个新的窗口。
这时我们要想对这个新窗口页面中信息进行检查,必须要先定位到新窗口。
selenium2提供了 select window 关键字,该关键字会定位到新窗口,下面的操作都是围绕该新窗口来进行的了。
关键是靠参数来标识新的窗口,有如下方法:
1) select window title=xxxx
其中xxx是新页面的title属性,这就要求新页面必须有title属性。
2)select window name=xxxx
这里的name是对应新窗口的name属性值(针对javascript).
比如如果是利用 window.open("newurl","newwin");打开的新窗口,这里的newwin就是新页面的name属性。
或者<a href="newurl" target="newWindow" id="newlink">新窗口</a> 这里的newWindow就是新页面的name属性。
注意:需要注意的是,无论是用open方法或者在a设置name值, 如果再次点击,则会在同样的name窗口中打开。
即使是url不同,也会在相同窗口打开。 所以在指定时需要注意。
所以比较简单的方式,就是为每个页面设置自己的title属性,这样既简单,又跟js无关,而且每个窗口有自己的title也是合理的和比较好的方式。
还有一点,在rf+selenium2的帮助中,还说明了select window可以通过设定url值来定位,但实际操作发现有问题,无法定位。这是个bug,可能跟版本有关。
Robot Framework与Web界面自动化测试学习笔记:定位到新窗口的更多相关文章
- Robot Framework与Web界面自动化测试学习笔记:简单例子
假设环境已经搭建好了.这里用RIDE( Robot Framework Test Data Editor)工具来编写用例.下面我们对Robot Framework简称rf. 我们先考虑下一个最基本的登 ...
- Robot Framework与Web界面自动化测试学习笔记:利用xpath定位元素
在rf中,利用selinum2的关键字进行用例编写时,很多关键字的参数是html元素的定位标识. 最简单的方式,是通过id 或name来描述元素定位信息,如 click button id=l ...
- Robot Framework与Web界面自动化测试学习笔记:如何判断单选框的选中状态
单选按钮是个常见的html元素,在网页中往往提供一组单选按钮来做选项. 这样在自动化测试用例中需要判断当前选中的按钮是否与预期的一直. 可以这样来操作: ${value} Get Element ...
- Robot Framework与Web界面自动化测试:简单例子
假设环境已经搭建好了.这里用RIDE( Robot Framework Test Data Editor)工具来编写用例.下面我们对Robot Framework简称rf. 我们先考虑下一个最基本的登 ...
- Robot Framework进行web ui自动化测试,浏览器配置说明
转载请注明出处,谢谢: chrome浏览器: 1.从如下地址下载与本地浏览器版本号一致的chromedriver.exe驱动文件: http://chromedriver.storage.google ...
- Linux进程线程学习笔记:运行新程序
Linux进程线程学习笔记:运行新程序 周银辉 在上一篇中我们说到,当启动一个新进程以后,新进程会复制父进程的大部份上下 ...
- C++ 学习笔记(一些新特性总结3)
C++ 学习笔记(一些新特性总结3) public.protected 和 private 继承 public 继承时,基类的存取限制是不变的. class MyClass { public: // ...
- 《应用Yii1.1和PHP5进行敏捷Web开发》学习笔记(转)
学习地址为: http://www.yiibook.com/book/agile_web_application_development_with_yii1.1_and_php5 1.建立应用程序 ...
- 用phantomjs进行web界面自动化测试的几个注意点
貌似我以前说过不少界面自动化测试的坏话,哈哈.最近接触了phantomjs,发现用它进行web界面测试也挺有意思的,下面举几个我使用过程中发现的注意点. 1.需要指定phantomjs位置,否则使用时 ...
随机推荐
- 打造自己的sublime text
博主今天正在了解学习LESS,在找相关资源的过程中,发现自己的sublime text和别人差别有点大,突然脑海中一股逼格的气息油然而生,于是查找了相关资料,并打造了一下风格. 下面开始正文. 首先是 ...
- 【转】 利用spring的profile切换不同的环境
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...
- Expected stackmap frame at this location
使用eclipse,本来使用的是jdk1.7的,后来切换到jdk1.8版本就出现了这个问题,报错的Reason说的是Expected stackmap frame at this location,其 ...
- BZOJ 1691: [Usaco2007 Dec]挑剔的美食家( 平衡树 )
按鲜嫩程度排个序, 从大到小处理, 用平衡树维护价值 ---------------------------------------------------------------------- #i ...
- XML 学习之保存节点
XmlDocumnet WriteTo 方法 说明: 保存xmldocument对象节点到xmlwriter(即xml文件写入流) 实例: public static void WriteXml( X ...
- gdb调试相关
GDB调试及其调试脚本的使用返回脚本百事通一.GDB调试 1.1. GDB 概述 GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具.或许,各位比较喜欢那种图形界面方式的,像VC.BCB等 ...
- poj 1850/poj 1496
http://poj.org/problem?id=1850 -----------------http://poj.org/problem?id=1496 两题解法类似..本题为组合数学的题,要求所 ...
- 数据切分——MySql表分区概述
定义: 表的分区指根据可以设置为任意大小的规则,跨文件系统分配单个表的多个部分.实际上,表的不同部分在不同的位置被存储为单独的表.用户所选择的.实现数据分割的规则被称为分区函数,这在M ...
- 解题报告 HDU1176 免费馅饼
免费馅饼 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submis ...
- uva - The Lottery(容斥,好题)
10325 - The Lottery The Sports Association of Bangladesh is in great problem with their latest lotte ...