爱陪小樱桃

导航

 

自动化测试弹框处理

标签(空格分隔): 弹框


切换窗口:

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

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

答案:肯定是不行的,那我们怎么办呢?
例如如下图:最终的输出还是:newwindwos
image.png-223kB

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
    image.png-14.9kB
    2.confirm(有两种选择)
    如下图
    image.png-14.1kB
    3.prompt(有两种选择,还要一些输入内容的)
    如下图
    image.png-25kB
  • 操作方法:
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可以查看)
image.png-51.4kB

posted on 2018-08-06 19:52  cherry小樱桃  阅读(3797)  评论(0编辑  收藏  举报