Web自动化测试02

Web自动化测试课程
2 -Selenium-API 操作
元素定位
元素定位 -XPath CSS
元素操作 | 浏览器操作方法
鼠标和键盘操作
元素等待
下拉选择框、弹出框、滚动条操作
frame 切换、多窗口切换
窗口截图、验证码处理
Web 自动化测试课程
序号
章节
知识点
第一章 Web 自动化入门
1. 认识自动化及自动化测试
2. 自动化测试工具选择
3. 环境搭建
第二章 Selenium-API 操作
1. 元素定位方式
2. 元素和浏览器的操作方法
3. 鼠标和键盘操作
4. 元素等待
5. HTML 特殊元素处理
6. 窗口截图
7. 验证码处理
第三章 UnitTest 框架
1. UnitTest 基本使用
2. UnitTest 断言
3. 参数化
4. 生成 HTML 测试报告
第四章 PO 模式
1. 方法封装
2. PO 模式介绍
3. PO 模式实战
第五章 数据驱动
1. JSON 读写
2. 数据驱动介绍
3. 数据驱动实战
第六章 日志收集
1. 日志相关概念
2. 日志的基本方法
3. 日志的高级方法
第七章 项目实战
1. 自动化测试流程
2. 项目实战演练
课程目标
1.
掌握使用 Selenium 进行 Web 自动化测试的流程和方法,并且能够完成自动化测试脚本的编
写。
2.
掌握如何通过 UnitTest 管理用例脚本,并生成 HTML 测试报告。
3.
掌握使用 PO 模式来设计自动化测试代码的架构。
4.
掌握使用数据驱动来实现自动化测试代码和测试数据的分离。
5.
掌握使用 logging 来实现日志的收集。
2 -Selenium-API 操作
目标
1. 熟练应用八种元素定位方式
2. 掌握对元素和浏览器的操作方法
3. 掌握键盘鼠标的操作
4. 掌握元素等待的操作
5. 掌握下拉选择框、警告框和滚动条的操作
6. 掌握如何切换 frame 框架和多窗口
7. 掌握如何实现窗口截图
元素定位
目标
1. 掌握 id name class_name tag_name link_text partial_link_text 定位方式的使用
思考:为什么要学习元素定位?
让程序操作指定元素,就必须先找到此元素。
1. 如何进行元素定位?
html 页面由标签构成,标签的基本格式如下:
< 标签名 属性名 1=" 属性值 1" 属性名 2=" 属性值 2"> 文本 </ 标签名 >
示例:
<input id="username" type="text" name="username" placeholder=" 用户名 " />
<div id="my_cart">
<span> 我的购物车 </span>
</div>
元素定位就是通过元素的信息或元素层级结构来定位元素的。
思考:如何快速的查看一个元素的相关信息?
2. 浏览器开发者工具
浏览器开发者工具就是给专业的 web 应用和网站开发人员使用的工具。 包含了对 HTML 查看和编
辑、 Javascript 控制台、网络状况监视等功能,是开发 JavaScript CSS HTML Ajax 的得力助
手。
作用:快速定位元素,查看元素信息
2.1 如何使用浏览器开发者工具
安装
浏览器已默认安装,可以直接使用
启动
快捷键:一般在 windows 系统上打开浏览器开发者工具都是按 F12
火狐浏览器:在页面上点击右键选择 查看元素
谷歌浏览器:在页面上点击右键选择 检查
使用
方法一:在要查看的元素上点击右键选择 查看元素 或者 检查
方法二:先打开浏览器开发者工具,点击选择元素的图标,移动鼠标到要查看的元素,然后点
3. 元素定位方式
Selenium 提供了八种定位元素方式
1. id
2. name
3. class_name
4. tag_name
5. link_text
6. partial_link_text
7. XPath
8. CSS
3.1 id 定位
说明: id 定位就是通过元素的 id 属性来定位元素, HTML 规定 id 属性在整个 HTML 文档中必须是唯一的;
前提:元素有 id 属性
id 定位方法
element = driver.find_element_by_id(id)
案例
案例演示环境说明:
受限于网络速度的影响,我们案例采用本地的 html 页面来演示。这样可以提高学习效率和脚本执行速率
需求:打开注册 A.html 页面,完成以下操作
1). 使用 id 定位,输入用户名: admin
2). 使用 id 定位,输入密码: 123456
3).3 秒后关闭浏览器窗口
案例实现步骤分析
1. 导入 selenium --> from selenium import webdriver
2. 导入 time --> import time
3. 实例化浏览器驱动对象 --> driver = webdriver.Firefox()
4. 打开注册 A.html --> driver.get(url)
5. 调用 id 定位方法 --> element = driver.find_element_by_id("")
6. 使用 send_keys() 方法输入内容 --> element.send_keys("admin")
7. 暂停 3 --> time.sleep(3)
8. 关闭浏览器驱动对象 --> driver.quit()
说明:为了更好的学习体验,我们先暂时使用下 send_keys() 方法来输入内容
3.2 name 定位
说明: name 定位就是根据元素 name 属性来定位。 HTML 文档中 name 的属性值是可以重复的。
前提:元素有 name 属性
name 定位方法
element = driver.find_element_by_name(name)
案例
需求:打开注册 A.html 页面,完成以下操作
1). 使用 name 定位用户名,输入: admin
2). 使用 name 定位密码,输入: 123456
3).3 秒后关闭浏览器窗口
3.3 class_name 定位
说明: class_name 定位就是根据元素 class 属性值来定位元素。 HTML 通过使用 class 来定义元素的样式。
前提:元素有 class 属性
注意:如果 class 有多个属性值,只能使用其中的一个
class_name 定位方法
element = driver.find_element_by_class_name(class_name)
案例
需求:打开注册 A.html 页面,完成以下操作
1). 通过 class_name 定位电话号码 A ,并输入: 18611111111
2). 通过 class_name 定位电子邮箱 A ,并输入: 123@qq.com
3).3 秒后关闭浏览器窗口
3.4 tag_name 定位
说明: tag_name 定位就是通过标签名来定位;
HTML 本质就是由不同的 tag 组成,每一种标签一般在页面中会存在多个,所以不方便进行精确定位,
一般很少使用
tag_name 定位方法
element = driver.find_element_by_tag_name(tag_name)
如果存在多个相同标签,则返回符合条件的第一个标签
如何获取第二个元素?稍后讲解
案例
需求:打开注册 A.html 页面,完成以下操作
1). 使用 tag_name 定位用户名输入框,并输入: admin
2).3 秒后关闭浏览器窗口
3.5 link_text 定位
说明: link_text 定位是专门用来定位超链接元素 (<a> 标签 </a>) ,并且是通过超链接的文本内容来定位元素
link_text 定位方法
element = driver.find_element_by_link_text(link_text)
link_text :为超链接的全部文本内容
案例
需求:打开注册 A.html 页面,完成以下操作
1). 使用 link_text 定位 ( 访问 新浪 网站 ) 超链接,并点击
2).3 秒后关闭浏览器窗口
3.6 partial_link_text 定位
说明: partial_link_text 定位是对 link_text 定位的补充, link_text 使用全部文本内容匹配元素,
partial_link_text 可以使用局部来匹配元素,也可以使用全部文本内容匹配元素。
partial_link_text 定位方法
element = driver.find_element_by_partial_link_text(partial_link_text)
partial_link_text :可以传入 a 标签局部文本 - 能表达唯一性
案例
需求:打开注册 A.html 页面,完成以下操作
1). 使用 partial_link_text 定位 ( 访问 新浪 网站 ) 超链接,并点击
2).3 秒后关闭浏览器窗口
4. 定位一组元素
在我们学习使用以上方法的时候,发现有个共同的相似方法:
4.1 find_elements_by_xxx()
作用:
1). 查找定位所有符合条件的元素
2). 返回的定位元素格式为数组
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值