软件测试 / 测试开发丨学习笔记之 Web 自动化测试
获取更多相关知识
本文为霍格沃兹测试开发学社学员学习笔记分享,文末附原文链接。
高级定位-css
- css 选择器有自己的语法规则和表达式 
- css 定位通常分为绝对定位和相对定位 
- 和 Xpath 一起常用于 UI 自动化测试中的元素定位 
css 相对定位的优点
- 可维护性更强 
- 语法更加简洁 
- 解决各种复杂的定位场景 
css 定位的调试方法
- 进入浏览器的 console 
- 输入:$("css 表达式")或者 $("css 表达式") 
css 基础语法
css 关系定位
css 顺序关系
高级定位-xpath
xpath 基本概念
- XPath 是一门在 XML 文档中查找信息的语言 
- XPath 使用路径表达式在 XML 文档中进行导航 
- XPath 的应用非常广泛 
- XPath 可以应用在 UI 自动化测试 
xpath 相对定位的优点
- 可维护性更强 
- 语法更加简洁 
- 相比于 css 可以支持更多的方式 
xpath 定位的调试方法
xpath 基础语法
xpath 顺序关系
xpath 高级用法
- [last()]: 选取最后一个 
- [@属性名='属性值' and @属性名='属性值']: 与关系 
- [@属性名='属性值' or @属性名='属性值']: 或关系 
- [text()='文本信息']: 根据文本信息定位 
- [contains(text(),'文本信息')]: 根据文本信息包含定位 
- 注意:所有的表达式需要和[]结合 
显示等待高级使用
显示等待原理
- 在代码中定义等待一定条件发生后再进一步执行代码 
- 在最长等待时间内循环执行结束条件的函数 
- WebDriverWait(driver 实例, 最长等待时间, 轮询时间).until(结束条件函数) 
显示等待-封装等待条件
- 官方的 excepted_conditions 不可能覆盖所有场景 
- 定制封装条件会更加灵活、可控 
高级控件交互方法
ActionChains 解析
- 实例化类 ActionChains,参数为 driver 实例。 
- 中间可以有多个操作。 
- .perform()代表确定执行。 
键盘事件-使用 shift 实现大写
- ActionChains(self.driver): 实例化 ActionChains 类 
- key_down(Keys.SHIFT, ele): 按下 shift 键实现大写 
- send_keys("selenium"): 输入大写的 selenium 
- perform(): 确认执行 
键盘事件-输入后回车
- 直接输入回车: 元素.send_keys(Keys.ENTER) 
- 使用 ActionChains: key_down(Keys.ENTER) 
键盘事件-复制粘贴
- 多系统兼容 mac 的复制按钮为 COMMANDwindows 的复制按钮为 CONTROL 
- 左箭头:Keys.ARROW_LEFT 
- 按下 COMMAND 或者 CONTROL: key_down(cmd_ctrl) 
- 按下剪切与粘贴按钮: send_keys("xvvvvv") 
鼠标事件
- 双击 
- double_click(元素对象): 双击元素 
- 拖动元素 
- drag_and_drop(起始元素对象, 结束元素对象): 拖动并放开元素 
- 指定位置(悬浮) 
- move_to_element(元素对象): 移动到某个元素 
滚轮/滚动操作
- 滚动到元素 
- scroll_to_element(WebElement 对象):滚动到某个元素 
- 根据坐标滚动 
- scroll_by_amount(横坐标, 纵坐标) 
自动化关键数据记录
什么是关键数据
- 代码的执行日志 
- 代码执行的截图 
- page source(页面源代码) 
行为日志记录
- 日志配置 
- 脚本日志级别 debug 记录步骤信息 info 记录关键信息,比如断言等 
步骤截图记录
- save_screenshot(截图路径+名称) 
- 记录关键页面断言页面重要的业务场景页面容易出错的页面 
page_source 记录
- 使用 page_source 属性获取页面源码 
- 在调试过程中,如果有找不到元素的错误可以保存当时的 page_source 调试代码 
版权声明: 本文为 InfoQ 作者【测试人】的原创文章。
原文链接:【http://xie.infoq.cn/article/1e739a5aa18aaf683646c775c】。文章转载请联系作者。











 
    
评论