Python UI自动化测试Web frame及多窗口切换

目录
  • 一、什么是frame&frame切换?
  • 二、frame切换的方法
  • 三、什么是多窗口&多窗口切换
  • 四、如何实现多窗口切换?

一、什么是frame&frame切换?

frame:HTML页面中的一种框架,主要作用是在当前页面中指定区域显示另一页面元素;

frame切换:通俗的讲当你进入房子里面,而里面又有一个小房间的话,你不知道小房间在哪,那就是进不去,而frame切换就是进入这个小房间的方式!

这也是为什么要用frame切换的原因!

二、frame切换的方法

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

1). driver.switch_to.frame(frame_reference)   #切换到指定frame的方法frame_reference:可以为frame框架的name、id或者定位到的frame元素
2). driver.switch_to.default_content()  #恢复默认页面方法

这里要注意:在frame中操作其他页面,必须先回到默认页面,才能进一步操作

三、什么是多窗口&多窗口切换

解释:在HTML页面中,当点击超链接或者按钮时,有的会在新的窗口打开页面,这个窗口就被称为多窗口。

这个可以向上面那个一样理解,但是这是一栋房子进入另外一栋房子的区别!

四、如何实现多窗口切换?

解释:在Selenium中封装了获取当前窗口句柄、获取所有窗口句柄和切换到指定句柄窗口的方法;

句柄:英文handle,窗口的唯一识别码

1). driver.current_window_handle   #获取当前窗口句柄
2). driver.window_handles  # 获取所有窗口句柄
3). driver.switch_to.window(handle)  #切换指定句柄窗口

窗口代码实现片段:

# 获取当前窗口句柄信息
print(driver.current_window_handle)
# 获取所有窗口句柄
windows = driver.window_handles
# 切换窗口句柄
driver.switch_to.window(windows[-1])

拓展:frame形式介绍

形式一:

<frameset cols="25%,75%">
    <frame src="frame_a.htm">
    <frame src="frame_b.htm">
</frameset>

形式二:

<iframe name="iframe_a" src="demo_iframe.htm" width="200" height="200"></iframe>

以上就是Python UI自动化测试Web frame及多窗口切换的详细内容,更多关于Python UI多窗口切换的资料请关注我们其它相关文章!

(0)

相关推荐

  • python自动化测试中APScheduler Flask的应用示例

    目录 使用背景 什么是 APScheduler 框架? APScheduler 框架包含四个组成部分 APScheduler 在 flask 中使用 编写任务函数,开始 APScheduler 的调度 部分项目代码 总结 使用背景 实际项目中,需要验证打点数据在各个系统中收集是否一致,而部分节点打点数据收集是通过异步任务实现的,等待时间比较久.为应对业务异步操作处理,实现异步数据的收集,经过调研后,选择了 APScheduler 框架. 什么是 APScheduler 框架? APSchedul

  • python自动化测试用例全对偶组合与全覆盖组合比较

    目录 python3用到2个库 覆盖测试 测试生成 python3用到2个库 import itertools import metacomm.combinatorics.all_pairs2 as all_pairs all_pairs 这个库适用于python2.7 安装好 里面有语法需要更新才能在python3中用 test = """{ "a": [{"a": "string"}], "b"

  • python自动化测试selenium屏幕截图示例

    WebDriver内置了测试中捕获屏幕并保存的方法. 示例脚本: (1)save_screenshot(filename):保存屏幕截图 from selenium import webdriver from time import sleep,strftime,localtime,time import os class TestScreenShot(object): def setup(self): self.driver = webdriver.Chrome() self.driver.g

  • python自动化测试通过日志3分钟定位bug

    目录 一.简单使用 入门小案例 日志级别 配置 格式化规则 日志写到文件 二.高级用法 日志组件 步骤 1创建日志记录器 2创建日志处理器 3创建格式化器 4创建过滤器 5 将处理器添加到记录器上 6 记录日志 三.日志模块封装 功能分析 封装成函数 四.应用到项目中 导入 记录日志 一.简单使用 入门小案例 import logging logging.basicConfig(level=logging.DEBUG, #设置级别,根据等级显示 format='%(asctime)s-[%(fi

  • Python深度学习实战PyQt5窗口切换的堆叠布局示例详解

    目录 1. 堆叠布局简介 1. 1什么是堆叠布局(Stacked Layout) 1.2 堆叠布局的实现方法 2. 创建多窗口切换的堆叠布局 3. 堆叠布局的主程序设计 3.1 QStackedWidget 类 3.2 建立信号/槽连接 3.3 页面控制程序 3.4 堆叠布局中的控件操作 软件项目中经常需要多种不同的图形界面,以适应不同的任务场景.选项卡控件(QTackedWidget)通过标签选择打开对应的对话框页面,不需要另外编程.堆叠窗口控件(QStackedWidget)在主程序中通过编

  • Python爬虫之Selenium多窗口切换的实现

    前言:在页面操作过程中有时候点击某个链接会弹出新的窗口,但由于Selenium的所有操作都是在第一个打开的页面进行的,这时就需要主机切换到新打开的窗口上进行操作.WebDriver提供了switch_to.window()方法,可以实现在不同的窗口之间切换. 以百度首页和百度注册页为例,在两个窗口之间的切换. 本章中用到的关键方法如下: current_window_handle:获得当前窗口句柄 window_handles:返回所有窗口的句柄到当前会话 switch_to.window():

  • Python UI自动化测试Web frame及多窗口切换

    目录 一.什么是frame&frame切换? 二.frame切换的方法 三.什么是多窗口&多窗口切换 四.如何实现多窗口切换? 一.什么是frame&frame切换? frame:HTML页面中的一种框架,主要作用是在当前页面中指定区域显示另一页面元素: frame切换:通俗的讲当你进入房子里面,而里面又有一个小房间的话,你不知道小房间在哪,那就是进不去,而frame切换就是进入这个小房间的方式! 这也是为什么要用frame切换的原因! 二.frame切换的方法 解释:在Selen

  • python Airtest自动化测试工具的的使用

    目录 Airtest的官网介绍项目构成 如何上手? 一.安装 二.使用 三.在本地环境中使用及遇到的问题 1.使用"pip install airtest" 进行安装 2.IDE连接不存在设备或被占用设备容易假死 3. 假死期间关闭IDE会造成adb驻留 4.尝试连接不存在设备时,即使设备是不存在的也会加入列表 四.最后啰嗦几句 Airtest全称AirtestProject,是由网易游戏推出的一款自动化测试框架,在软件测试的时候使用到了该框架.这里记录一下安装.使用和遇到的坑的问题…

  • python+selenium的web自动化上传操作的实现

    目录 一.关于上传操作 二.input标签 三.第三方库pywin32 四.第三方工具pyautogui 总结 一.关于上传操作 上传有两种情况: 如果是input可以直接输入路径的,那么直接使用send_keys(文件路径)输入路径即可: 非input标签的上传,则需要借助第三方工具:第三方库 pywin32.第三方工具pyautogui等等. 那这里针对以上两种情况分别介绍一下具体的解决方法. 二.input标签 定位到元素,然后直接使用send_keys(文件路径)输入路径,比较简单. f

  • python+Selenium自动化测试——输入,点击操作

    这是我的第一个真正意思上的自动化脚本. 1.练习的测试用例为: 打开百度首页,搜索"胡歌",然后检索列表,有无"胡歌的新浪微博"这个链接 2.在写脚本之前,需要明确测试的步骤,具体到每个步骤需要做什么,既拆分测试场景,考虑好之后,再去写脚本. 此测试场景拆分如下: 1)启动Chrome浏览器 2)打开百度首页,https://www.baidu.com 3)定位搜索输入框,输入框元素XPath表达式://*[@id="kw"] 4)定位搜索提交按

  • python selenium自动化测试框架搭建的方法步骤

    设计思路 本文整理归纳以往的工作中用到的东西,现汇总成基础测试框架提供分享. 框架采用python3 + selenium3 + PO + yaml + ddt + unittest等技术编写成基础测试框架,能适应日常测试工作需要. 1.使用Page Object模式将页面定位和业务操作分开,分离测试对象(元素对象)和测试脚本(用例脚本),一个页面建一个对象类,提高用例的可维护性: 2.使用yaml管理页面控件元素数据和测试用例数据.例如元素ID等发生变化时,不需要去修改测试代码,只需要在对应的

  • Appium+Python+pytest自动化测试框架的实战

    菜鸟一枚,写的不好勿喷,大家一起学习 先简单介绍一下目录,再贴一些代码,代码里有注释 Basic目录下写的是一些公共的方法,Data目录下写的是测试数据,image存的是测试失败截图,Log日志文件,Page测试的定位元素,report测试报告,Test测试用例,pytest.ini是pytest启动配置文件,requirements.txt需要安装的py模块,run.py运行文件 Basic/base.py 里面封装了 一些方法,元素的点击,输入,查找,还有一些自己需要的公共方法也封装在里面,

  • Python中Tkinter组件Frame的具体使用

    目录 何时使用 Frame 组件? 用法 参数 Frame(框架)组件是在屏幕上的一个矩形区域.Frame 主要是作为其他组件的框架基础,或为其他组件提供间距填充. 何时使用 Frame 组件? Frame 组件主要用于在复杂的布局中将其他组件分组,也用于填充间距和作为实现高级组件的基类. 用法 Frame 组件可以用于装饰界面: import tkinter as tk master = tk.Tk() tk.Label(text="天王盖地虎").pack() separator

  • Python命令启动Web服务器实例详解

    Python命令启动Web服务器实例详解 利用Python自带的包可以建立简单的web服务器.在DOS里cd到准备做服务器根目录的路径下,输入命令: python -m Web服务器模块 [端口号,默认8000] 例如: python -m SimpleHTTPServer 8080 然后就可以在浏览器中输入 http://localhost:端口号/路径 来访问服务器资源. 例如: http://localhost:8080/index.htm(当然index.htm文件得自己创建) 其他机器

随机推荐