本文来自牛鹭学院学员:胡伟进
Selenium 是一个 web 应用程序自动化测试的工具合集。包括有测试、屏幕抓取、浏览器行为模拟(爬虫)。支持的浏览器有 Firefox、IE、Chrom、safari、opera。
它是以图形化的方式在 Firefox 上录制与回访 selenium 脚本,然后以脚本化方式实现浏览器测试的,支持多语言的一套 api,并用于以服务的方式启动,支持远程控制,分布式部署等功能。
环境准备工作
需要在 pychrom 中安装插件 selenium。并且使用的浏览器要用对应的驱动,编写 py 文件时要使用 from selenium import webdriver。
这里附上第三方驱动和插件的地址:
- https://www.selenium.dev/documentation/zh-cn/getting_started_with_webdriver/third_party_drivers_and_plugins/
- https://www.selenium.dev/documentation/en/webdriver/driver_requirements/
代码中调用第三方驱动的步骤
- 导入 selenium webdriver 包
- 新建 chrome webdriver 对象
- 设置 webdriver 超时时间
- 设置浏览器窗口展示方式
几个 webdriver 基础 API
- webdriver.get(url) 访问目标 URL 并加载网页
- back() ---后退
- forward ---前进
- refresh ----刷新
(如果配置了环境变量,就不用加 chrome_driver)
webdriver 的控件定位方法
webdriver 定位控件的方法有如图所示:
xpath 的语法
XPath 是一种称为路径表达式的语法,可以用一个类似于 Windows 或 Linux 文件路径的表达式,定位到 XML 或 HTML 中的任意一个或多个节点元素,获取元素的各项信息,写起来非常方便。在解析结构比较规整的 XML 或 HTML 文档的时候,用 XPath 路径表达式非常快速、方便。
selenium 中级之基础操作
- clear() 清除文本
- click() 单击元素
- size 返回元素的尺寸
- text 获取元素的文本 用法如下:selenium 中级之鼠标操作:
- . perform()执行所有 ActionChains 中存储的行为;
- . move_to_element( ) 鼠标悬停在该元素上
- . click( ) 鼠标单击左键
- . double_click() 鼠标双击
- . context_click() 鼠标右击
- . drag_and_drop() 鼠标拖放
- . drag_and_drop(,) 拖拽到某个元素上然后松开
- . click_and_hold() . move_to_element() . release(*) 拖住某元素移动到另一个元素上然后释放
- . move_by_offset(x,y) 鼠标从当前位置移动到到某个坐标
- . location 获取某个元素的坐标 pause()暂停,单位秒 用法如下:
获取更多课程资讯、技术干货、学员笔记,关注牛鹭学院官方公众号:牛鹭软件测试训练营