zoukankan      html  css  js  c++  java
  • 自动化测试弹框处理

    自动化测试弹框处理

    标签(空格分隔): 弹框


    切换窗口:

    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

  • 相关阅读:
    Django【进阶】信号
    Django【进阶】缓存
    exec,eval
    linux下磁盘分区、格式化、挂载
    Django【进阶】中间件
    Django【进阶】权限管理
    Django【进阶】FBV 和 CBV
    MySQL 进阶(待发布)
    Django【进阶】
    django 分页和中间件
  • 原文地址:https://www.cnblogs.com/surewing/p/9432230.html
Copyright © 2011-2022 走看看