Python自动化测试:web自动化测试——Selenium框架

web自动化测试1

  • Selenium介绍
  • web自动化实现原理
  • 环境准备
    • 1)Selenium+python环境搭建
      • 安装步骤
        • 环境变量的配置
    • 2)浏览器驱动
      • 驱动下载
      • 驱动环境配置
    • 3)版本检查
    • 4)其他异常情况排查
      • 版本不一致
      • 未激活
      • 卸载、降低/升级setuptools版本
  • web自动化测试实例test.py
  • 复杂案例:模拟12306登陆与搜索车次选座-购票

前言:使用Selenium框架进行简单web端UI自动化测试,简单的以百度搜索为例,复杂的模拟访问12306登陆、购票操作。

Selenium介绍

  • Selenium是ThroughtWorks公司一个强大的开源用于浏览器web自动化测试的工具集/框架;
  • 支持多平台、多浏览器、多语言去实现自动化测试;
  • Selenium2将浏览器原生的API封装成WebDriver API(WebDriver 通过原生浏览器支持或者浏览器扩展直接控制浏览器),可以直接操作浏览器页面里的元素,甚至操作浏览器本身(截屏,窗口大小,启动,关闭,安装插件,配置证书之类的),实现像真正的用户在操作一样;
  • pip组件是一个现代通用的Python包管理工具;

web自动化实现原理

在这里插入图片描述

环境准备

1)Selenium+python环境搭建

python下载:http://python.org/getit;
下载setuptools :http://pypi.python.org/pypi/setuptools
下载pip :【python 的安装包管理工具】https://pypi.python.org/pypi/pip
下载selenium:http://pypi.python.org/pypi/selenium

安装步骤

  1. 安装Python,也可安装编辑工具pycharm、vscode
    注意:pip是基于setuptools的,若安装python,就已经安装了pip了,可python的第三方包目录下(D:\CStools\python3.10.5\Lib\site-packages)看一看有没有pip包。
  2. 安装setuptools:将下载后的文件夹解压,在CMD命令窗口定位到解压后的目录下,输入python setup.py install
  3. 安装pip:连网状态(pip install pip),不联网状态需将下载后的文件夹解压,在解压后的目录下命令行中输入命令python setup.py install,再切换到现在的Python安装路径下(博主自己的路径为:D:\CStools\python3.10.5\Scripts),输入easy_install pip
  4. 安装selenium:
    * 若联网状态则可:在Python安装路径(D:\CStools\python3.10.5\Scripts)下输入pip install -U selenium;
    * 若未联网,已下载了相关压缩包解压至D:\CStools\python3.10.5\Lib\site-packages目录下,命令窗口定位到该目录输入:python setup.py install

注意:命令行CMD从默认路径C盘切换到D盘需输入D:,再cd D盘下的路径

环境变量的配置
  1. 双击安装Python-自动配置环境变量:
    在这里插入图片描述
    2.手动配置环境变量:
    在这里插入图片描述

2)浏览器驱动

驱动下载

下载驱动前查看浏览器版本:
在这里插入图片描述
火狐浏览器—驱动下载地址:https://github.com/mozilla/geckodriver/releases
谷歌浏览器—驱动下载地址:
* 114及之前的版本:下载地址入口
* 116版本:下载入口
* 117/118/119版本:下载入口
在这里插入图片描述

驱动环境配置

  1. 将下载好的驱动包解压并放入安装包中(不同浏览器操作相同):
    在这里插入图片描述
  2. 将浏览器安装路径复制下来配置到环境变量路径中:C:\Program Files\Mozilla Firefox
    在这里插入图片描述
  3. 将驱动添加到Python安装路径下:

3)版本检查

  • 以管理员的身份运行CMD,先验证你的python版本:
python --version

在这里插入图片描述

  • 查看setuptools是否安装正确:

  • 查看pip安装情况:

pip --version     # Python2.x 版本命令
pip3 --version    # Python3.x 版本命令

在这里插入图片描述

  • 查看selenium版本与安装是否成功:
pip show selenium

在这里插入图片描述

  • 也可以整个查看pip:
pip list

在这里插入图片描述

4)其他异常情况排查

版本不一致

  1. 驱动版本与浏览器版本不一致:重新下载安装配置正确的版本(最新浏览器对应最新驱动)
geckodriver.exe -h

在这里插入图片描述
2. setuptools版本错误或与Python不兼容:常常会提示NameError: name ‘execfile’ is not defined说明安装版本不对,可卸载重新安装正确版本。

未激活

原因:博主之前由于学校的项目下载了Anaconda其自带有python版本,python处于conda环境中,导致python需要激活,显示:
在这里插入图片描述
解决方法:

  1. 命令窗口输入 conda activate 进入(base)
  2. 输入conda info --envs,查看Anaconda的位置,复制base *后面的位置信息
  3. 输出conda activate base后面的路径

卸载、降低/升级setuptools版本

pip uninstall setuptools
pip install setuptools==39.1.0

web自动化测试实例test.py

以下代码实现:获取火狐浏览器驱动并控制打开浏览器主页,返回打印主页标题,退出控制

#  coding = utf-8
from selenium import webdriverdriver = webdriver.Firefox()
driver.get('http://www.baidu.com')
print(driver.title)
driver.quit()

运行结果:
在这里插入图片描述

复杂案例:模拟12306登陆与搜索车次选座-购票

仅作为web自动化测试案例学习,不做违法使用!!!
(代更新)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/179665.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python框架篇(1):FastApi-快速入门

1.介绍 前言: 不管学什么语言,都应该至少掌握一个框架,方面我们后续,进行服务部署、服务对外支持等; 1.1 官网介绍 下面是来自FastAPI官网的介绍: FastAPI 是一个用于构建 API 的现代、快速(高性能)的 web 框架&#…

找不同游戏-第15届蓝桥第二次STEMA测评Scratch真题精选

[导读]:超平老师的《Scratch蓝桥杯真题解析100讲》已经全部完成,后续会不定期解读蓝桥杯真题,这是Scratch蓝桥杯真题解析第157讲。 第15届蓝桥杯第2次STEMA测评已于2023年10月29日落下帷幕,编程题一共有6题,分别如下&…

阿里云服务器租用价格,不同实例云服务器日常价、活动价与券后价格

阿里云服务器最新实际购买价格参考,轻量应用服务器2核2G3M带宽配置日常价720.00元/1年,最新活动价格为87元/1年,订单满300元以上即可使用满减优惠券,例如经济型e实例2核4G2M带宽日常价格为1802.40元,最新的活动价格为8…

小户型的创新之选:嵌入式酒精壁炉

小户型中的热需求与大房子并无不同,但常规暖气设备往往难以适应有限的空间。此时,嵌入式酒精壁炉崭露头角。它们不仅提供了足够的温暖,还具备了独特的美感,无需占用大面积的地方。 嵌入式酒精壁炉的精妙之处在于它们出色的空间利用…

Centos8配置Zabbix5.0中文汉化

1.点击【Sign in】按钮,输入用户名和密码进入Zabbix的首页,结果如图。 2.点击左边导航栏的【User settings】链接,进入用户个性化设置界面,结果如图。 3.在搭建Zabbix的虚拟机上使用yum命令下载中文包。 yum install glibc-langpa…

算法学习打卡day45|动态规划:股票问题总结

Leetcode股票问题总结篇 动态规划的股票问题一共六道题,买卖股票最佳时机和买卖股票手续费都是一个类型的问题,维护好买入和卖出两个状态即可,方法一摸一样。而冷冻期也差不多就是状态多了点,买入、保持卖出、当日卖出、以及冷冻期…

VueEcharts的使用简解以及常用网站

目录 一:前言 二:实现 1、安装echarts依赖 2、创建图表 1)全局引入 2)按需引入 三:结尾 一:前言 VueEcharts 是项目开发中可视化的一个重要知识部分。其涵盖了柱状图,饼状图,…

无线终端掉线问题专题

一、终端连接过程 1、通过beacon或者probe帧发现设备 2、accoc和auth过程 3、EAP过程 4、DHCP过程 5、portal过程 6、终端检测wlan是否可以上网 7、正常接入网络 二、终端无法上网 终端无法上网则说明终端在连接过程中某一个环节除了问题 1、发现AP过程,p…

【华为内部资料】《高速数字电路设计教材》(可下载)

与数字技术或软件相比,模拟技术人才的培养和造就仍然需要一定的实践和时间,但无论数字技术发展到任何阶段将永远离不开模拟技术。 由于难度系数较大的原因,有时即便投入很多精力,如果缺乏耐心、毅力和必要的条件,投入…

7个免费的优质图标素材网站,设计师必备!

对于交互设计师和产品经理来说,一套漂亮易用的图标可以算是提高效率的法宝,自己导出一套标准化的图标是一个巨大的工程。如何找到一个既美观又实用又能快速重用的图标?别慌,今天我们整理了7个价值高又好用的图标素材网站&#xff…

多目标跟踪指标

Avg rank This is the rank of each tracker averaged over all present evaluaion measures 这是每个跟踪器在所有现有评估指标上的平均排名。 MOTA Multiple Object Tracking Accuracy This measure combines three error sources :false positives&#xf…

k8s系列-kuboard 该操作平台的使用操作

文章目录 一、相关平台,以及账号和密码镜像打包服务器仓库地址K8s平台数据库mysql 二、平台概述1.集群导入2.集群管理3.名称空间4.访问控制授权5.集群用户操作审计 三、kuboard平台操作手册一、部署服务操作1.名称空间部署2.工作负载部署 一、相关平台,以…