栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

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

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

  
  

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

  
  

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/756884.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号