【Python自动化测试27】Web自动化测试理论、环境搭建及常见操作
文章目录
- 一、前言
- 二、Web自动化测试详解
- 2.1 什么是Web自动化测试
- 2.2 selenium安装与环境搭建
- 2.2.1 安装基础依赖与步骤
- 2.2.2 Webdriver下载
- 2.2.3 安装成功检验
- 2.3 selenium基本使用
- 2.4 selenium元素定位
- 2.4.1 什么是元素定位?
- 2.4.2 元素定位方式
- 2.4.3 通过元素定位实现百度搜索
一、前言
本文章主要会讲解Python中Web自动化测试基础理论、Webdriver环境搭建以及一些自动化测试的基本常见操作等,除此之外下方有系列文章的传送门,还在持续更新中,感兴趣的小伙伴也可以前往查看,话不多说,让我们一起看看吧~
系列文章:
系列文章1:【Python自动化测试1】遇见Python之美
系列文章2:【Python自动化测试2】Python安装配置及PyCharm基本使用
系列文章3:【Python自动化测试3】初识数据类型与基础语法
系列文章4:【Python自动化测试4】字符串知识总结
系列文章5:【Python自动化测试5】列表与元组知识总结
系列文章6:【Python自动化测试6】字典与集合知识总结
系列文章7:【Python自动化测试7】数据运算符知识合集
系列文章8:【Python自动化测试8】流程控制语句讲解
系列文章9:【Python自动化测试9】函数知识合集
系列文章10:【Python自动化测试10】文件基础操作
系列文章11:【Python自动化测试11】模块、包与路径知识合集
系列文章12:【Python自动化测试12】异常处理机制知识合集
系列文章13:【Python自动化测试13】类、对象、属性与方法知识合集
系列文章14:【Python自动化测试14】Python自动化测试基础与进阶练习题
系列文章15:【Python自动化测试15】unittest测试框架的核心概念与作用
系列文章16:【Python自动化测试16】测试用例数据分离
系列文章17:【Python自动化测试17】openpyxl二次封装与数据驱动
系列文章18:【Python自动化测试18】配置文件解析与实际应用
系列文章19:【Python自动化测试19】日志系统logging讲解
系列文章20:【Python自动化测试20】接口自动化测试框架模型搭建
系列文章21:【Python自动化测试21】接口自动化测试实战一_接口概念、项目简介及测试流程问答
系列文章22:【Python自动化测试22】接口自动化测试实战二_接口框架修改及用例优化
系列文章23:【Python自动化测试23】接口自动化测试实战三_动态参数化与数据伪造
系列文章24:【Python自动化测试24】接口自动化测试实战四_Python操作数据库
系列文章25:【Python自动化测试25】接口自动化测试实战五_数据库断言、接口关联及相关管理优化
系列文章26:【Python自动化测试26】接口自动化测试实战六_pytest框架+allure讲解
二、Web自动化测试详解
2.1 什么是Web自动化测试
什么是Web自动化测试?通俗易懂的说,Web自动化测试就是通过代码或工具的方式代替人工的测试操作,属于模拟人工操作,Web自动化测试有很多工具,也有很多方式,主要有selenium,cypress,playwright等,selenium目前最主流,使用selenium的优势也有很多:
"""
selenium的优势
1、selenium资料丰富,当有疑问和困难时可以随时进行资料查找
2、selenium相对而言比较好找工作,HR更愿意选择会主流工具、框架的测试工程师
3、支持多语言(Java / Python / go / js)
4、支持远程,以及多浏览器
5、行业目前的首选,行业主流
"""
2.2 selenium安装与环境搭建
2.2.1 安装基础依赖与步骤
selenium的安装需要一定的依赖,这是安装selenium进行自动化测试的必须条件,主要有三点依赖:
"""
selenium安装依赖:
1、浏览器 (建议谷歌Chrome / 火狐)
2、selenium webdriver
3、python binding
""""""
selenium安装步骤:
1、pip install selenium
2、下载Webdriver,Chrome浏览器通过官方下载或者镜像下载,和浏览器的版本对应 (目前经过测试已知的71版本是兼容性非常强的版本)
3、放入Python安装目录或者其他任何地方
"""
2.2.2 Webdriver下载
驱动下载:
谷歌浏览器对应驱动版本以及下载链接:
超级好用的国内镜像源:chrom浏览器国内镜像源
chrome历史版本:chrom历史版本
谷歌官方版本:chrom官方版本
Edge浏览器对应驱动版本以及下载链接:
Edge浏览器:Edge浏览器
IE浏览器对应驱动版本以及下载链接:
IE官方版本:Github官方版本
Safari浏览器对应驱动版本以及下载链接:
Safari浏览器:Safari浏览器
注意事项:
驱动必须和浏览器的版本兼容,例如浏览器版本为71,那就下载71的驱动
下载完成后放入到对应的Python根目录

2.2.3 安装成功检验
安装完成后,我们需要先检验一下是否有安装成功,可以输入如下代码并运行,查看是否安装成功:
# 导入 selenium包
from selenium import webdriver# 打开Google浏览器, Chrome首字母大写
driver = webdriver.Chrome()

2.3 selenium基本使用
先简单了解一些关于自动化测试中的selenium的基本使用语法,语法是固定语法,牢记即可
# 导入 selenium包
from selenium import webdriver# 打开Google浏览器, Chrome首字母大写
driver = webdriver.Chrome()# 窗口最大化,这里需要特别注意,通常而言在我们打开一个浏览器后,第一步的首要操作就是最大化窗口,以防止元素出现定位失败的情况
driver.maximize_window()# 使用get方式请求百度页面
driver.get("https://www.baidu.com")# 打印现在的浏览器地址
print(driver.current_url)# 获取网页标题
print(driver.title)# 进入另外一个网站
driver.get("https://www.iqiyi.com")# 后退
driver.back()# 前进
driver.forward()# 刷新
driver.refresh()# 关闭当前窗口
driver.close()# 关闭整个浏览器且同时关闭驱动chromedriver
driver.quit()
2.4 selenium元素定位
2.4.1 什么是元素定位?
我们需要进行元素定位前需要先了解什么是元素,元素就是开发人员在网页进行布局所自定义的一个标记,我们可以通过开发标记的元素来找到特定的精准位置,这个流程称之为元素定位, 好比要使用自动化软件控制输入,首要步骤就算先找到输入框,而后才能进行输入操作,在执行点击、双击、拖拽等各类模拟人工操作前,我们都需要先进行元素定位
2.4.2 元素定位方式
在selenium中主要有8大元素定位方式,参考如下所示:
"""
selenium八大元素定位方式:
1、id
2、name
3、class name
4、link text
5、partial link text
6、tag name
7、xpath
8、css selector
"""""" 实际上有30种定位方式,但在绝大多数的情况下,使用这8种方式就能够精准定位 """
元素定位的方式很简单,以百度的输入框为例,主要有二种定位方式,下面笔者只有其中一种方式进行截图介绍:
"""
方式一:
1、进入到百度页面时按选F12
2、点击检查元素箭头,再次点击文本输入框的位置
3、查看元素结果 -- 选中后在谷歌浏览器默认会有一行淡蓝色或其他颜色的特殊标记方式二:
1、进入到百度页面时右键文本输入框
2、选中"检查"按钮 -- 选中后自动定位到对应行
"""
2.4.3 通过元素定位实现百度搜索
通过元素定位实现百度搜索,具体采取元素的方式需要依据实际情况决定,在本次搜索中,百度的搜索框能够查看到id元素,故此我们使用id元素定位即可,有兴趣的同学也可以尝试已有的其他方式:
"""
实现思路:
1、初始化浏览器
2、打开百度界面
3、定位百度文本输入框
4、输入数据
5、点击百度一下按钮
"""
import timefrom selenium import webdriver# 初始化一个谷歌浏览器
driver = webdriver.Chrome()
# 打开百度一下界面
driver.get("https://www.baidu.com")
# 最大化窗口
driver.maximize_window()
# 通过元素id,值为kw定位百度一下的文本输入框
input_text = driver.find_element("id", "kw")
# 输入文本
input_text.send_keys("如何迎娶白富美走向人生巅峰")
# 通过元素id,值为su定位百度一下按钮
baidu_button = driver.find_element("id", "su")
# 点击"百度一下"按钮
baidu_button.click()
# 强制等待3秒钟
time.sleep(3)
# 关闭浏览器
driver.quit()
好啦~以上就是本次文章分享的全部内容啦,你学会了吗?希望能给大家带来帮助哦!

本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
