zoukankan      html  css  js  c++  java
  • 20200614_20三类等待

    课程回顾:

    元素操作,讲解了各类元素在执行时需要注意的操作行为

    Iframehandles

    1. QQ登录的切换:iframe,需要先切换iframe再操作元素点击行为

    2. 容易出现元素有时候能够正常操作,有时候无法操作

    考虑是否添加有等待函数

    三类等待:

    在实际自动化测试过程中,所有基于Python实现的自动化操作都是机器自主行为,不会去考虑你所需要执行的业务是什么。只是按部就班执行代码

    为了确保自动化执行成功率,就需要人工干预,通过其他手段确保能够正常地依照我自己的想法来走

    机器执行的时候,是不会停的,所以需要通过等待的手段让它适当的时候进行停止,这个过程叫做等待设置

    等待总计分为三类:

    强制等待

    time.sleep(6)

    不考虑任何情况,当代码执行到这一步时,依据sleep传递的时间参数进行对应时间的等待

    优势:可以快速实现,只需要通过导入time.sleep模块即可直接调用运行,是非常简单上手的一种等待形式

    劣势:会非常浪费时间

    不推荐使用此类等待

    隐式等待

    偷偷摸摸的等待,是由Webdriver提供的一种等待模式:全局变量,对当前的整个driver生命周期都生效,直到driver.quit之后,等待失效

    当需要定位元素,定位不到时,会继续进行等待,一直到等待到元素或者设置的等待时间到期为止。

    优势:只需定义一次,一直可用

    劣势:相对比较耗费资源,从而影响了整个的运行周期,没有办法对元素进行更为精准的操作等待,影响到自动化测试的效率

    显式等待:

    是唯一的一种专门针对特定的条件而设置的等待,一般是针对特定元素来执行

    untiluntil_not两者的概念是相反的。

    untile是直到什么条件为true的时候,表示正确

    until_not是知道什么条件为false的时候,表示正确

    当显式等待执行时,可以用于判断页面元素是存在的/不存在的

    优势:可以精准地定位到指定的元素,不会耗费多余的任意力气

    劣势:只能对单一的元素生效,每次需要使用的时候,就需要进行调用,类似于强制等待

    显式等待默认会返回WebElement对象,意味着可以基于显式等待来做页面内容展示的判断

    实际应用:

    一般而言,三类等待手段结合使用

    当显式等待与隐式等待结合使用时,等待时间取最长的那个

    课后作业:

    基于添加购物车流程,将其中的强制等待全部取消,依照三类等待的操作来实现流程的自动化的优化

    再结合等待操作判断添加购物车是否成功

  • 相关阅读:
    Linux Shell for循环写法总结 皇星客栈
    关于adr指令的理解 皇星客栈
    lds linux下的通用链接脚本 皇星客栈
    2430实验点对点通信实验 皇星客栈
    #pragma vector 皇星客栈
    linux下firefox安装Adobe Flash Player插件 皇星客栈
    一个shell脚本引发的对于分号(;)和$#的使用说明(转载) 皇星客栈
    代码打开wince自带的wif配置窗口i
    C#数组的合并拆分
    Coding4Fun
  • 原文地址:https://www.cnblogs.com/Murraya/p/14099532.html
Copyright © 2011-2022 走看看