在UI自动化测试当中,有些朋友问怎么判断元素可见呢,这里其实用到的是selenium中的expected_conditions模块中的visibility_of_element_located来判断该元素是否可见的,当然我这里也收集了其他的方法,这些都是面试比较常问到的:

一般我都会将expected_conditions简称为EC,多处调用时,方便我们调用它。

下面我来讲解一下expected_conditions里比较常用的方法含义与用法:

  • frame_to_be_available_and_switch_to_it : 判断该frame是否可以switch进去,如果可以的话,返回True并且switch进去,否则返回False
  • alert_is_present : 判断页面上是否存在alert
  • presence_of_element_located:判断某个元素是否被加到了dom树里,并不代表该元素一定可见
  • visibility_of_element_located : 判断某个元素是否可见. 可见代表元素非隐藏,并且元素的宽和高都不等于0
  • element_to_be_clickable : 判断某个元素中是否可见并且是enable的,这样的话才叫clickable
  • new_window_is_opened:判断是否打开了一个新窗口并增加窗口句柄
  • title_contains 判断当前页面的title是否包含预期字符串,返回布尔值
  • visibility_of :跟上面的方法做一样的事情,只是上面的方法要传入locator,这个方法直接传定位到的element就好了
  • presence_of_all_elements_located : 判断是否至少有1个元素存在于dom树中。举个例子,如果页面上有n个元素的class都是'column-md-3',那么只要有1个元素存在,这个方法就返回True
  • text_to_be_present_in_element : 判断某个元素中的text是否 包含 了预期的字符串
  • text_to_be_present_in_element_value:判断某个元素中的value属性是否 包含 了预期的字符串
  • invisibility_of_element_located : 判断某个元素中是否不存在于dom树或不可见
  • staleness_of :等某个元素从dom树中移除,注意,这个方法也是返回True或False
  • element_to_be_selected:判断某个元素是否被选中了,一般用在下拉列表
    >* element_selection_state_to_be:判断某个元素的选中状态是否符合预期
  • element_located_selection_state_to_be:跟上面的方法作用一样,只是上面的方法传入定位到的element,而这个方法传入locator

场景判断方法expected_conditions相关推荐

  1. 判断元素16种方法expected_conditions

    经常有小伙伴问,如何判断一个元素是否存在,如何判断alert弹窗出来了,如何判断动态的元素等等一系列的判断,在selenium的expected_conditions模块收集了一系列的场景判断方法,这 ...

  2. python+selenium自动化软件测试(第4章):场景判断与封装

    4.1 显示等待WebDriverWait 前言: 在脚本中加入太多的sleep后会影响脚本的执行速度,虽然implicitly_wait()这种隐式等待在一定程度上节省了很多时间. 但是一旦页面上某 ...

  3. 3.js中判断数组中是否存在某个对象/值,判断数组里的对象是否存在某个值 的五种方法 及应用场景|判断数组里有没有某对象,有不添加,没有则添加到数组

    3.js中判断数组中是否存在某个对象/值,判断数组里的对象是否存在某个值 的五种方法 及应用场景 一.当数组中的数据是简单类型时: 应用js中的indexof方法:存在则返回当前项索引,不存在则返回 ...

  4. BSP场景管理方法简介

    BSP(Binary Space Partition,二叉空间分割)方法,在大型3d游戏场景管理方面,可以认为是已经证明了的,最成熟的,最经得起考验的场景管理方法.诸如虚幻系列引擎(Unreal 1, ...

  5. 领域适配前沿研究——场景、方法与模型选择

    下期内容:岂凡超<义原知识库的应用和扩充> 报名请点击「阅读原文」 在线直播时间:12月31日19:30-20:30 12月24日, 在智源论坛Live第2期活动中,我们邀请了2019年清 ...

  6. python判断sqlite连接状态_python3 自动识别usb连接状态,即对usb重连的判断方法

    在做自动化测试时,遇到两种情况需要判断usb是否已连接上(注,本文仅针对用adb命令来control手机) 一种是在开测时(前提是同时要测试多台), 希望等待所有设备usb全部识别后同时进行测试.对于 ...

  7. java三点确定圆弧_圆弧方向判断方法和三点确定一个圆的计算方法

    圆弧方向判断方法 设p1=(x1,y1) p2=(x2,y2) p3=(x3,y3) 求向量 p12=(x2-x1,y2-y1) p23=(x3-x2,y3-y2) 则当 p12与p23的叉乘(向量积 ...

  8. 人脸识别**检测技术讨论:基于背景人脸相对运动的**判断方法

    **检测是人脸识别安全性的重要保障,是人脸识别厂商将产品普及应用于各行业的重要竞争力.目前**判断的方法很多,但很难基于一种方法就能达到理想的效果,往往需要多种算法的交叉判断,本文主要介绍一种简单有效 ...

  9. 性能测试场景设计方法(教科书版)

    其实如何设计性能测试场景是非常复杂的艺术,巴特(but),性能测试这个领域有个教科书一样的场景设计方法,笔者曾经带领团队参加中国合格评定国家实验室认可委员举办的软件效率能力验证,最终被评定为性能测试能 ...

最新文章

  1. 【怎样写代码】对象克隆 -- 原型模式(一):问题案例
  2. Qt安装—图文并茂搭建VS2008+QT开发环境
  3. Html5-Canvas实现简易的抽奖转盘
  4. Python学习系列(一)(基础入门)
  5. html设置边框dw,Dreamweaver Css边框属性
  6. Workbox.strategies v3.x 中文版
  7. poj 3624 Charm Bracelet (01背包)
  8. 【java学习之路】(java框架)003.Mybatis的介绍和基本使用
  9. linux检查哪些进程消耗io,Linux 不同方法查看进程消耗CPU IO 等
  10. Linux系统怎么吸引用户,Linux下如何增加一个系统用户
  11. atitit 常见个人与企业与组织机构的信息化.docx
  12. eclipse svn切换账号
  13. Idea查看Java类图和接口实现关系
  14. matlab面板数据怎么求增长率的公式,增长率怎么计算公式(7个步骤详解)
  15. Vmware5.0 下安装NetWare6.5全攻略
  16. MyEclipse在启动了诸如Tomcat等web服务后,控制台信息不显示的问题
  17. 我如何启动任何.NET Core Web API项目
  18. 校本课程——宝宝爱上学
  19. 2048小游戏js实现
  20. 个人中端深度学习工作站配置(硬件系统篇)

热门文章

  1. 蓦然回首,机会就在灯火阑珊处
  2. MIT6.824 Spanner论文精读
  3. java web系统设计思路_JavaWeb——实战入门,设计思路总结。
  4. 留听阁--多线程系列之锁(十四)
  5. 信息学奥赛一本通:2024:【例4.10】末两位数
  6. 利用 Vue 实现评论板块:发表情,@某人消息推送
  7. Linux源码0.11解析:03_head.s
  8. 未来30年,银发经济市场将会迎来黄金发展期
  9. wine QQ最完美解决方案(多Linux发行版通过测试并稳定运行)
  10. word2019快速生成目录的方法