软件测试/测试开发丨Selenium Web自动化测试基本操作

点此获取更多相关资料

本文为霍格沃兹测试开发学社学员学习笔记分享

原文链接:https://ceshiren.com/t/topic/26901

一、浏览器控制

模拟功能测试中对浏览器的操作

1.1、打开网页

  • get方法打开浏览器
python 复制代码
def open_browser():
    driver = webdriver.Chrome()
    driver.get("https://www.baidu.com/")
    time.sleep(1)

1.2、刷新

  • refresh方法刷新页面
python 复制代码
# 刷新网页
    driver.refresh()

1.3、回退

  • 用back方法回退到上一个界面
python 复制代码
    driver.back()

1.4、最大化

  • maximize_window方法使窗口最大化

    复制代码
      driver.maximize_window()

1.5、最小化

  • minimize_window方法使窗口最小化
python 复制代码
    driver.minimize_window()

二、常见定位方法

2.1、HTML铺垫

  • 标签:<a>
  • 属性:href
  • 类属性: class

2.2、Selenium八大定位方式

Selenium提供了八种定位方式
Locator strategies | Selenium

序号 方式 描述
1 class name class 属性对应的值
2 css selector(重点) css 表达式
3 id(重点) id 属性对应的值
4 name(重点) name 属性对应的值
5 link text 查找其可见文本与搜索值匹配的锚元素
6 partial link text 查找其可见文本包含搜索值的锚元素。如果多个元素匹配,则只会选择第一个元素。
7 tag name 标签名称
8 xpath(重点) xpath表达式

2.3、常用定位方式练习

示例,两种方式作用一模一样

官方建议使用下面的方式

python 复制代码
driver.find_element_by_id("su")
driver.find_element(By.ID, "su")
python 复制代码
def web_locate():
    driver = webdriver.Chrome()
    driver.implicitly_wait(3)
    driver.get("https://vip.ceshiren.com/#/ui_study")
    driver.find_element(By.ID, "openWindows")
    driver.quit()

三、常见交互方法

3.1、元素操作

  • 点击:click()
  • 输入:send_keys()
  • 清空:clear()
python 复制代码
# 点击搜索框
driver.find_element(By.ID,"kw").click()
# 输入"霍格沃兹测试开发"
driver.find_element(By.ID,"kw").send_keys("霍格沃兹测试开发")
# 清空搜索框中信息
driver.find_element(By.ID,"kw").clear()

3.2、获取元素属性信息

  • 获取元素属性信息

  • 原因:

    • 定位到元素后,获取元素的文本信息,属性信息等
  • 目的:

    • 根据这些信息进行断言或者调试
  • 演练地址: 霍格沃兹测试开发

相关推荐
韭菜炒大葱33 分钟前
前端经典面试题:从 URL 输入到页面展示,中间经历了什么?
前端·http·面试
swipe41 分钟前
纯函数、柯里化与函数组合:从原理到源码,构建更可维护的前端代码体系
前端·javascript·面试
远山枫谷42 分钟前
uniapp + Vue 自定义组件封装:自定义样式从入门到实战
前端·vue.js
Lee川1 小时前
JavaScript 中的 `this` 与变量查找:一场关于“身份”与“作用域”的深度博弈
前端·javascript·面试
顺遂3 小时前
基于Rokid CXR-M SDK的引导式作业辅导系统设计与实现
前端
代码搬运媛3 小时前
Generator 迭代器协议 & co 库底层原理+实战
前端
前端拿破轮3 小时前
从0到1搭建个人网站(三):用 Cloudflare R2 + PicGo 搭建高速图床
前端·后端·面试
功能啥都不会3 小时前
PM2 使用指南 - 踩坑记录
前端
HelloReader3 小时前
React 中 useState、useEffect、useRef 的区别与使用场景详解,终于有人讲明白了
前端
ZhengEnCi3 小时前
08c. 检索算法与策略-混合检索
后端·python·算法