首页 > 其他分享 >Web自动化测试11:Selenium之frame切换、多窗口切换

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

时间:2023-01-23 12:02:32浏览次数:67  
标签:11 窗口 句柄 frame 多窗口 切换 注册 页面



文章目录

  • ​​学习目标​​
  • ​​一、frame切换​​
  • ​​1.1 为什么要学习frame切换​​
  • ​​1.2 frame切换方法​​
  • ​​1.3 案例解决方案​​
  • ​​1.4 frame切换-总结​​
  • ​​二、多窗口切换​​
  • ​​2.1 为什么要切换窗口?​​
  • ​​2.2 如何实现多窗口切换​​
  • ​​2.3 案例解决方案分析​​
  • ​​2.4 多窗口切换 — 总结​​

学习目标

我们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.切换指定句柄窗口方法


标签:11,窗口,句柄,frame,多窗口,切换,注册,页面
From: https://blog.51cto.com/u_8238263/6021840

相关文章