首页 > 其他分享 >软件测试笔记|web自动化测试|你们是怎么处理弹窗的?

软件测试笔记|web自动化测试|你们是怎么处理弹窗的?

时间:2024-12-10 13:28:57浏览次数:10  
标签:web prompt webdriver button driver accept alert 弹窗 软件测试

VX公众Hao:阳哥整理软件测试笔记

 

在自动化测试中,常见的弹窗有警告框(alert)、确认框(confirm)和提示框(prompt)。以Selenium为例,处理方式如下:

处理警告框(Alert)

1. 首先使用driver.switch_to.alert切换到警告框。

2. 可以使用accept方法来接受警告框(相当于点击“确定”按钮),示例代码如下:
from selenium import webdriver

driver = webdriver.Chrome()
driver.get("https://www.example-url-with-alert.com")
# 触发警告框
button = driver.find_element("id", "alert-button")
button.click()
alert = driver.switch_to.alert
alert.accept()
3. 如果要获取警告框中的文本内容,可以使用text属性,如alert_text = alert.text。

处理确认框(Confirm)

1. 同样先切换到确认框(driver.switch_to.alert)。

2. 可以用accept方法接受(点击“是”)或者dismiss方法取消(点击“否”),代码示例如下:
from selenium import webdriver

driver = webdriver.Chrome()
driver.get("https://www.example-url-with-confirm.com")
# 触发确认框
button = driver.find_element("id", "confirm-button")
button.click()
confirm = driver.switch_to.alert
confirm.dismiss()  # 这里如果改成accept就是点击“是”


处理提示框(Prompt)

1. 切换到提示框后(driver.switch_to.alert)。

2. 除了可以使用accept和dismiss方法外,还可以使用send_keys方法向提示框中输入文本,示例如下:
from selenium import webdriver

driver = webdriver.Chrome()
driver.get("https://www.example-url-with-prompt.com")
# 触发提示框
button = driver.find_element("id", "prompt-button")
button.click()
prompt = driver.switch_to.alert
prompt.send_keys("输入的文本内容")
prompt.accept()

标签:web,prompt,webdriver,button,driver,accept,alert,弹窗,软件测试
From: https://blog.csdn.net/weixin_46652722/article/details/144362922

相关文章

  • 软件测试笔记|web自动化测试|自动化测试中,句柄是如何切换的?
    VX公众Hao:阳哥整理软件测试笔记 在Web自动化测试中,当页面打开新窗口或者切换到新的iframe时,就需要进行句柄切换来定位新页面或框架中的元素。以Selenium为例:窗口句柄切换1.首先,使用driver.current_window_handle获取当前窗口句柄。2.然后,打开新窗口后(例如点击一个链接......
  • 软件测试笔记|数据库基础|通过python,如何导入数据库,并使用数据库表数据?
    VX公众Hao:阳哥整理软件测试笔记 以下是使用Python操作常见数据库(以MySQL为例)的基本步骤:首先,需要安装对应的数据库驱动程序。对于MySQL,通常使用pymysql库。可以通过pipinstallpymysql命令安装。1.连接数据库importpymysql#建立连接conn=pymysql.connect(  ......
  • 软件测试笔记|数据库基础|数据库字段类型有哪些?char与varchar有什么区别?
    VX公众Hao:阳哥整理软件测试笔记 常见的数据库字段类型有以下几种:•数值型:•整数型:如TINYINT、SMALLINT、INT、BIGINT,分别用于存储不同范围的整数值。•浮点型:像FLOAT、DOUBLE,用于存储带有小数部分的数值。•字符型:•定长字符串:如CHAR,存储固定长度的字符数据。•......
  • web大学生个人网站作业模板——上海旅游景点介绍网页代码 家乡旅游网页制作模板 大学
    家乡旅游景点网页作业制作网页代码运用了DIV盒子的使用方法,如盒子的嵌套、浮动、margin、border、background等属性的使用,外部大盒子设定居中,内部左中右布局,下方横向浮动排列,大学学习的前端知识点和布局方式都有运用,CSS的代码量也很足、很细致,使用hover来完成过渡效果、鼠......
  • WebLogic T3反序列化漏洞(CVE-2018-2628)--vulhub
    WebLogicT3反序列化漏洞(CVE-2018-2628)WebLogic在通信过程中使用T3协议传输数据,涉及到了序列化和反序列化操作。T3协议概述T3协议是Oracle的私有协议,所以公开的相关资料比较少,这里结合其他师傅的博客简单对T3协议进行一个简要分析。T3协议是WebLogic的一种专有通信协......
  • 你在web端实现过批量打印吗?如何实现?
    是的,我在Web端实现批量打印的方案上可以提供一些帮助。以下是一些常见的方法以及它们的优缺点:1.使用浏览器自带的打印功能(window.print()):原理:这是最简单的方法,通过调用window.print()函数触发浏览器的打印对话框。实现:functionprintSelected(){window.print()......
  • vue 实现纯 web H5 打印功能
    vue实现纯webH5打印功能官网:https://vxeui.com/https://github.com/x-extends/vxe-pc-ui安装npminstallvxe-pc-ui@4.3.22vxe-table@4.9.19//...importVxeUIfrom'vxe-pc-ui'import'vxe-pc-ui/lib/style.css'importVxeUITablefrom'vxe-t......
  • 「Java EE开发指南」如何在Web项目中使用Web Fragments?
    本教程将向您展示如何在MyEclipse中使用关联的Web项目创建WebFragments项目的机制,还提供了示例项目供您检查。在本教程中,您将学习如何:创建一个webfragment和相关的web项目部署并测试一个包含webfragment的示例web项目MyEclipsev2024.1离线版下载MyEclipse技术交流群:742......
  • websocket是如何实现握手?
    WebSocket握手是客户端和服务器之间建立WebSocket连接的第一步。它本质上是一个HTTP请求和响应,用于升级协议从HTTP到WebSocket。以下是握手的具体步骤:1.客户端发送WebSocket握手请求:客户端向服务器发送一个HTTP请求,其中包含一些特殊的头部信息,表明它想要升级到We......
  • 你知道什么是webAssembly吗?它的运用场景有哪些?
    WebAssembly(Wasm)是一种新的二进制指令格式,可以在现代Web浏览器中运行。它被设计为一种可移植、高效的编译目标,允许开发者使用除JavaScript之外的语言(例如C、C++、Rust和Go)编写高性能的Web应用程序。Wasm的主要优势在于它的速度和效率。由于Wasm代码接近机器码,浏览器......