RobotFramework教程使用笔记——web自动化测试弹窗处理
在web自动化测试中会遇到各种弹出框,在selenium中有对这些弹出框的处理。
弹出框一般有这么几类:
1、普通的弹出窗口,如果是可以定位的,直接定位到窗口,然后进行相应的操作。
2、如果是浏览器系统弹出框,alter类型的,可以使用方法: dr.switchTo().alert().accept(); 或者dismiss(取消),记得在处理前先判断下是否有alter窗口,如果窗口出来的较慢或者没有窗口弹出,那么执行这个方法会报错。Confirm 类型也使用这两个方法。
3、还有如果是打开的新的浏览器窗口,那就需要switchToWindow了。
那么在robotframework中如何处理呢?
我在测试过程中遇到了这么一个窗口:

这种应该是属于Confirm 类型,是无法定位到的,在robotframework中需要这样处理:
1、虽然无法定位,但是能获取到这个窗口,先定义下这个窗口:
2、选择确定或者取消:

这样就可以完成对这个窗口的操作,直接choose是不生效的。
如果是模态窗口,可以参考下这样的处理方式:
http://www.robotframework.net/article/13
RobotFramework教程使用笔记——web自动化测试弹窗处理的更多相关文章
- RobotFramework教程使用笔记——Selenium2Library库
selenium之前已经学习介绍过了,它是一个支持多语言.多平台.多浏览器的web自动化测试框架,在robotframework中也可以导入selenium库来进行web自动化测试.它使用seleni ...
- RobotFramework教程使用笔记——时间控件的相关操作
在web测试过程中,我们可能会遇到时间控件,有的是支持直接输入的,有的为了保证输入时间格式的一致性是只支持点击选择的,那么这个时候如何用robotframework来操作呢? 看下面这个例子: 这个是 ...
- RobotFramework教程使用笔记——RIDE的相关知识及Resources创建关键字文件
RIDE是robotframework的图形操作前端,我们在RIDE上进行测试用例设计和编写测试脚本,并执行自动化测试.下面来全面的认识下这个操作工具. 在右边编辑页面有三大模块,Edit,TextE ...
- RobotFramework教程使用笔记——初识RobotFramework
1.创建项目 File->New Project 创建测试项目 Type选择Directory 右键项目创建测试套件,也可以理解为创建不同测试逻辑或者是测试业务 右键测试套件创建case 注:如 ...
- RobotFramework教程使用笔记——robotframwork中文乱码显示问题
转自:https://www.cnblogs.com/dreamyu/p/6878795.html 接口.数据库返回信息有中文的时候会显示unicode的样式,前面带个U这样的显示,如果我们想让它正常 ...
- RobotFramework教程使用笔记——requests和requestslibrary库
Robotframework也可以进行接口测试,只要导入相应的库就可以做到. 一.准备工作 1.导入requests,使用pip,或者手动下载 pip install requests 2.导入req ...
- RobotFramework教程使用笔记——RobotFramework的安装配置
(一) Python的安装和pip配置 首先,从Python的官方网站 www.python.org http://www.python.org/ftp/python 然后,运行下载的MSI安装包, ...
- RobotFrameWork Web自动化测试环境搭建
前言 Robot Framework是一款python编写的功能自动化测试框架.具备良好的可扩展性,支持关键字驱动,可以同时测试多种类型的客户端或者接口,可以进行分布式测试执行.主要用于轮次很多的验收 ...
- Web自动化测试Selenium 学习笔记(一)
1.Web自动化测试简介自动化基础:自动化用例编写.Selenium优势及原理.自动化环境搭建Selenium基础:常见8大元素定位(表格).常见元素处理.下拉框元素处理.不同窗口切换.元素进阶.元素 ...
随机推荐
- for 、foreach 、iterator 三种遍历方式的比较
习惯用法 for.foreach循环.iterator迭代器都是我们常用的一种遍历方式,你可以用它来遍历任何东西:包括数组.集合等 for 惯用法: List<String> list = ...
- mac mysql忘记密码解决办法
http://www.jb51.net/article/87580.htm http://blog.csdn.net/soft2buy/article/details/50223373
- [Algorithm] JavaScript Graph Data Structure
A graph is a data structure comprised of a set of nodes, also known as vertices, and a set of edges. ...
- Solaris之单用户模式
1.TERM 表示终端 vt100 是简单的终端模式 export TERM=vt100 在此模式下,方向键无效,用字母键 有很多环境变量,PATH .PS1 .TERM 一般在屏幕上写的都是暂时的, ...
- android页面间传递对象
android传递对象有两种方式: 一种是Serializable和Parcelable 对于第一种方式: import java.io.Serializable; public class Shop ...
- mysql 执行sql文件的方法
http://philos.iteye.com/blog/162051 实战代码: #mysql导入mysql -um4n -p01D060A476642BA8335B832AC5B211F22 ...
- Ubuntu下编译Poco库
本文主要记录下Ubuntu下编译Poco C++库的配置项以备后用.系统版本:Ubuntu 16.04,1 Poco 版本:1.9.0基本的步骤如下: 1.从官网下载最新的Poco源码,地址是:htt ...
- PHP开发环境简析
单工作机情况 windows + wamp windows + XShell类终端工具 + linux虚拟机 Ubuntu桌面版 自带终端 Mac OS + mamp Mac OS 自带终端 Mac ...
- Kubernetes对象之Pod
系列目录 Pod是Kubernetes调度的最小单元.一个Pod可以包含一个或多个容器,因此它可以被看作是内部容器的逻辑宿主机.Pod的设计理念是为了支持多个容器在一个Pod中共享网络和文件系统 因此 ...
- Java RESTful 框架
[转载] 最好的8个 Java RESTful 框架 - 2015 Top 8 Java RESTful Micro Frameworks – Pros/Cons - 2017 Restlet - f ...