IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> 【Python自动化测试27】Web自动化测试理论、环境搭建及常见操作 -> 正文阅读

[开发测试]【Python自动化测试27】Web自动化测试理论、环境搭建及常见操作

一、前言

??本文章主要会讲解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自动化测试有很多工具,也有很多方式,主要有seleniumcypressplaywright等,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 time

from 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()

??
??

??好啦~以上就是本次文章分享的全部内容啦,你学会了吗?希望能给大家带来帮助哦!

??
??

在这里插入图片描述

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2022-03-10 22:56:28  更:2022-03-10 22:57:02 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/18 2:33:57-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码