robot切换窗口
在用robot做自动化测试的时候,经常遇到新开窗口,需要切换窗口的情况。
两种方式来解决:
(1)用robot的关键字来解决
实现窗口切换的功能
@{handlelist} List Windows #获取当前所有的窗口
Select Window @{handlelist}[-1] #选择最后一个窗口
Execute JavaScript window.close() #将当前选择的窗口关闭
Select Window @{handlelist}[0] #在选择第一个窗口
Location Should Be http://www.baidu.com #验证是否正确
(2)借助于python语言来解决
#coding=utf-8 def change(allweb):
a = len(allweb) #获取allweb的长度
return allweb[a-1] if __name__ == '__main__':
print change('dewc') #输出的是最后一个
在你的XXcase.robot文件中导入这个文件:
Library switchwindow.py
在你的case中,
${handlelist} List Windows
${handle} Change ${handlelist}
Select Window ${handle}
就可以实现窗口切换了。
(3)切换窗口之后,新窗口自动关闭
Reload Page #刷新页面
Click Link ${PUBLISH_CENTER} #进入原来的页面
Select Frame ${PUBLISH_IFRAME} #切换frame
新窗口关闭之后,需要返回原来的窗口,如果直接运行,会报no such window的错误。所以需要刷新页面,跳转到原来的窗口,如果需要定位的标签在frame里面,需要再次切换frame。否则,还是找不到。
robot切换窗口的更多相关文章
- Java中怎么切换窗口
首先,创建一个窗口对象: eg: JFram frame = JFrame();//创建一个窗体 frame.setVisible(true);//设置窗体可见,默认不可见 然后编写相关应用或组件… ...
- selenium 切换窗口 每次成功code
最近用了网络上别人的一段切换窗口的code每次成功了,不错,学习 // 根据Title切换新窗口 public boolean switchToWindow_Title(WebDriver drive ...
- WebDriver(Selenium2) 根据新窗口title切换窗口
http://uniquepig.iteye.com/blog/1559321 在webdriver官方的api中,切换窗口的方法提供的参数是nameOrHandle. 引用 http://uniqu ...
- selenium切换窗口
在做网页自动化测试的时候,难免会打开很多个网页,那么,如何在多个窗口之间切换呢? 获取窗口的唯一标识用句柄(handle)表示,因此只需要切换句柄,就可以灵活的在各窗口之间切换. 下面介绍几个方法 c ...
- 《selenium2 python 自动化测试实战》(9)——切换窗口
有时候我们点击按钮后页面会跳转到新的窗口,我们需要到新的窗口中去进行接下来的操作,这时候就需要切换窗口的操作,我们根据句柄(handle)来操作窗口之间的切换,看代码: # coding: utf-8 ...
- Window 10 Alt Tap 切换窗口,设置成Windows 7风格
升级了Windows 10 以后,切换窗口非常的难受.新版的窗口切换的图标变成了窗口预览了,这总让我一瞬间找不到要去的窗口,所以我打算切换成Windows 7 的小图标风格. Windows + R ...
- ubuntu 12.04 alt+tab无法切换窗口的问题(转载)
转自:http://www.2cto.com/os/201209/153282.html ubuntu 12.04 alt+tab无法切换窗口的问题 安装cpmpiz配置管理程序. sudo ...
- SetWinEventHook 事件钩子(有些windows事件并没有消息对应,譬如弹出菜单,切换窗口,获得焦点,滚动条滚动等)good
相信消息钩子大家听的比较多,消息钩子能够在应用程序处理系统消息之前将其截获,提前处理并可以决定是否继续将消息往下传送,有些windows事件并没有消息对应,譬如弹出菜单,切换窗口,获得焦点,滚动条滚动 ...
- windows切换窗口和网页快捷键
alt+tab 切换窗口win+D 显示桌面,再按一下返回运来的网页win+M 所有程序最小化 网页之间切换(我用的是360) ctrl + tab 往回切 ctrl + shift +tab
随机推荐
- JSP—中文乱码
中文乱码问题? --------------------------------------- 不乱码的条件: 1.JSP页面本身的编码 pageEncoding UTF-8 (把jsp页面翻译成ja ...
- ATG精准科技-前端面试题
1.请写出以下结果 for(var i=0; i<10; i++){ setTimeout(function () { console.log(i) },10) } 结果:打印10次190解析: ...
- font-awesome图标
- SpringMVC+Spring+Mybatis+Maven+mysql整合
一.准备工作1.工具:jdk1.7.0_80(64)+tomcat7.0.68+myeclipse10.6+mysql-5.5.48-win322. 开发环境安装配置.Maven项目创建(参考:htt ...
- Python实现Json结构对比的小工具兼谈编程求解问题
摘要: 通过使用Python编写一个解析Json结构对比的小工具,来提炼编程求解的通用步骤和技巧. 难度: 初级 先上代码. jsondiff.py #!/usr/bin/python #_*_enc ...
- python , 顺序迭代合并后的list对象
有一系列排序序列,想将它们合并后得到一个排序序列并在上面迭代遍历 heapq.merge() 函数可以帮你解决这个问题.比如: >>> import heapq >>&g ...
- Python 在序列上跟踪索引和值
内置的enumerate() 函数可以很好的解决这个问题 >>> my_list = ['a', 'b', 'c'] >>> for idx, val in enu ...
- Java设计模式应用——工厂模式
工厂模式有三种:简单工厂.工厂方法.抽象工厂 一. 抽象工厂 1. 一个可以生产多种产品的工厂: 2. 不改变工厂无法生产新的产品. package com.coshaho.learn.factory ...
- Linux基础命令---which
which 在环境变量PATH中搜索某个命令,返回命令的执行文件或者脚本位置,默认只显示第一个结果.这需要一个或多个参数.对于它的每个参数,它会打印出当在shell提示符下输入该参数时将执行的可执行文 ...
- jquery基础框架
(function(window,undefined){ var arr = [], push = arr.push, slice = arr.slice; //首先要做的就是封装一个parseHtm ...