自动化测试弹框处理

Posted surewing

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自动化测试弹框处理相关的知识,希望对你有一定的参考价值。

自动化测试弹框处理

标签(空格分隔): 弹框


切换窗口:

1.在一个网页窗口里面的操作的时候,点点的有时候他会出现一个新的窗口自动化,而不是原来的窗口;

问题:那么在新的窗口里面在继续执行自动化的话,我们要注意什么呢?那么他会不会自动化到新的窗口呢?

答案:肯定是不行的,那我们怎么办呢?
例如如下图:最终的输出还是:newwindwos
技术分享图片

webdriver 属性有个属性是:windwos_handles,是保存所有自动化程序打开的浏览器的handles,所以我们要切换到某个窗口,我们可以利用循环,切换handles,切换窗口完了,可以更具对应的窗口的标题栏,来判断,是不是我们打开的网页;

切换到新窗口里面进行操作:

  • 循环遍历:driver.windows_handles
  • driver.switch_to.window(handle)方法切入新窗口
#保存主窗口的Handle
mainWindow = driver.current_window_handle
print(driver.window_handles)
for handle in driver.window_handles:
#切换到新的窗口
    driver.swithch_to.window(handle)
    if '百度' in driver.title:
    break
kw = driver.find_element_by_id('kw')
kw.send_keys(u'python自动化')
#切换到主窗口
driver.switch_to_window(mainWindow)
driver.find_element_by_tag_name('input').send_keys('helloworld')
input('pass any key to quit......')
driver.quit()
  • 检查该窗口特点,是否为要切入的那个;

切换到最初的窗口:

  • 保存窗口的handle

关闭窗口:

  • close方法

对话框操作:

  • 对话弹框一般有3种:
    1.alert(只有一种选择)
    如下图的alert
    技术分享图片
    2.confirm(有两种选择)
    如下图
    技术分享图片
    3.prompt(有两种选择,还要一些输入内容的)
    如下图
    技术分享图片
  • 操作方法:
driver.switch_to.alert.accept()  #点击OK
driver.switch_to.alert.text # 得到对话框内容
driver.switch_to.alert.dismiss()#点击关闭
driver.switch_to.alert.send_keys()# 输入内容这种就用于上述的图3 的情况

目前我们讲的alert,就是上述的3种,这个alert是浏览器原生的(F12查不了),不是html的alert,有的时候,看到的alert按钮比较多,或者比较丰富的页面,这些都是HTML自己的alert
1.如下图的alert,就是HTML元素:(可以按F12可以查看)
技术分享图片

以上是关于自动化测试弹框处理的主要内容,如果未能解决你的问题,请参考以下文章

技术分享 | web自动化测试-文件上传与弹框处理

自动化测试:Selenium高级操作

UI自动化之特殊处理二(弹框下拉框选项文件上传)

python+selenium 自动化,出现这个浏览器弹框怎么处理?

做自动化测试时,用命令行打开浏览器,时不时会弹出是不是进入安全模式的弹框,如何关闭安全模式功能

定位及处理Web页面toast弹框