软件测试 / 测试开发丨学习笔记之 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】。文章转载请联系作者。
评论