Web自动化测试11:Selenium之frame切换多窗口切换

Posted 黑马程序员官方

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Web自动化测试11:Selenium之frame切换多窗口切换相关的知识,希望对你有一定的参考价值。

更多功能测试以及全套学习路线图均在专栏,↑↑戳进去领取~

👼 Web自动化测试01:认识web自动化在什么项目中适用
👼Web自动化测试02:Web自动化测试工具选择大全
👼Web自动化测试03:Selenium安装配置,详细教程
👼Web自动化测试04:Selenium-API操作之元素定位
👼Web自动化测试05:Selenium-CSS定位
👼Web自动化测试06:元素操作、浏览器操作方法以及获取元素信息
👼Web自动化测试07:Selenium—鼠标操作
👼Web自动化测试08:Selenium—键盘操作
👼Web自动化测试09:Selenium元素等待
👼Web自动化测试10:Selenium下拉选择框、弹出框、滚动条操作


文章目录


学习目标

我们web自动化的内容,一共分为七个模块。今天开始第二章的学习,Selenium-API操作相关内容。如果你们还想回顾功能测试等等相关内容欢迎关注上方专栏!!!

本文学习目标:

1.掌握切换frame的方法
2.掌握多窗口切换的技巧


一、frame切换

frame:html页面中的一种框架,主要作用是在当前页面中指定区域显示另一页面元素; 形式一:[了解]

形式二:

1.1 为什么要学习frame切换

案例:打开‘注册实例.html’页面,完成以下操作
1).填写主页面的注册信息
2).填写注册页面A中的注册信息
3).填写注册页面B中的注册信息

问题 当前页面内无法定位注册页面A和注册页面B

1.2 frame切换方法

说明:在Selenium中封装了如何切换frame框架的方法

方法:
1). driver.switch_to.frame(frame_reference) --> 切换到指定frame的方法
frame_reference:可以为frame框架的name、id或者定位到的frame元素

2). driver.switch_to.default_content() --> 恢复默认页面方法

在frame中操作其他页面,必须先回到默认页面,才能进一步操作

1.3 案例解决方案

1.完成主页面注册信息;
2.调用frame切换方法(switch_to.frame(“myframe1”))切换到注册用户A框架中
3.调用恢复默认页面方法(switch_to.default_content())
4.调用frame切换方法(switch_to.frame(“myframe2”))切换到注册用户B框架中

1.4 frame切换-总结

1.HTML中常用的frame框架
2.切换框架的方法
3.恢复到默认页面的方法

二、多窗口切换

说明:在HTML页面中,当点击超链接或者按钮时,有的会在新的窗口打开页面。

2.1 为什么要切换窗口?

案例:

需求:打开‘注册实例.html’页面,完成以下操作
1).点击‘注册A页面’链接
2).在打开的页面中,填写注册信息

问题: 无法定位注册A页面中的元素

2.2 如何实现多窗口切换

说明:在Selenium中封装了获取当前窗口句柄、获取所有窗口句柄和切换到指定句柄窗口的方法;
句柄:英文handle,窗口的唯一识别码

方法:
1). driver.current_window_handle --> 获取当前窗口句柄

2). driver.window_handles --> 获取所有窗口句柄

3). driver.switch_to.window(handle) --> 切换指定句柄窗口

2.3 案例解决方案分析

1.获取‘注册实例.html’当前窗口句柄
2.点击‘注册实例.html’页面中注册A页面
3.获取所有窗口句柄
4.获取注册A页面对应的窗口句柄,并切换
5.操作注册A页面元素

2.4 多窗口切换 — 总结

1.什么是句柄?
2.获取当前窗口句柄方法
3.获取所有窗口句柄方法
4.切换指定句柄窗口方法

以上是关于Web自动化测试11:Selenium之frame切换多窗口切换的主要内容,如果未能解决你的问题,请参考以下文章

web自动化测试之web自动化中操作要点

Web UI自动化测试之Selenium3

技术分享 | Web自动化之Selenium安装

Python实战之Selenium自动化测试web登录

Python实战之Selenium自动化测试web刷新FW

Selenium-测试对象操作之:多窗口内嵌frame