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 webdriver

driver = webdriver.Firefox()
driver.get('http://www.baidu.com')
print(driver.title)
driver.quit()

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

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

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

什么是CSV文件,以及如何打开CSV文件格式

​CSV代表Comma Separated Values。CSV文件是一种纯文本文件,用于存储表格和电子表格信息。内容通常是由文本、数字或日期组成的表格。使用将数据存储在表中的程序可以轻松导入和导出CSV文件。 CSV文件格式 通常CSV文件的第一行包含表格列标签。后面的每一行表示表…

【软考篇】中级软件设计师 第三部分(一)

中级软件设计师 第三部分(一) 十七. I/O管理软件十八. 输入/输出技术十九. 总线系统二十. 磁盘管理20.1 移臂调度算法20.2 缓冲区 二十一. 操作系统二十二. 数据库22.1 三级模式-两级映射22.2 数据库设计22.3 规范化理论22.4 范式判断22.5 模式分解 二十…

单链表按位查找 按值查找与 求表长

按位查找 #define NULL 0typedef struct LNode {int data;struct LNode *next; }LNode,*LinkList;//按位查找&#xff0c;返回第i个元素&#xff08;带头结点&#xff09; LNode* GetElem(LinkList L,int i){if(i<0)return NULL;LNode *p L;int j 0;while (p!NULL &&a…

使用 MATLAB HDL Coder 和 FPGA 快速实现自动白平衡(AWB)

使用 MATLAB HDL Coder 和 FPGA 快速实现自动白平衡&#xff08;AWB&#xff09; 在此项目中&#xff0c;我们将使用 MATLAB Simulink 和 HDL 编码器创建自定义 IP -- AWB。 MATLAB 设计 自动白平衡模块的设计是使用 HDL Coder 在 MATLAB 和 Simulink 中创建的。HDL Coder能够生…

免费开源客服机器人tiledesk 实现一个查询天气机器人

第一步,槽位收集: 第二步:天气api接口调用: 效果展示:

云原生下GIS服务规划与设计

作者&#xff1a;lisong 目录 背景云原生环境下GIS服务的相关概念GIS服务在云原生环境下的规划调度策略GIS服务在云原生环境下的调度手段GIS服务在云原生环境下的服务规划调度实践 背景 作为云原生GIS系统管理人员&#xff0c;在面对新建的云GIS系统时&#xff0c;通常需要应对…

LTD251次升级 | 商机平台可筛选、浏览历史可查看 • 在线课程可秒杀购买 • 采购表单可实时计算价格与周期

1、 新增商机类型筛选及历史浏览功能&#xff1b; 2、 新增地址管理和物流公司管理功能&#xff1b; 3、 优化表单导出问题文件格式&#xff1b; 4、 可定制实时计算价格的表单&#xff1b; 5、 知识付费支持秒杀活动&#xff1b; 01 商机平台应用 在上次升级中&#xff0c;我…

大环境之下软件测试行业趋势能否上升?

如果说&#xff0c;2021年对于全世界来说&#xff0c;都是一场极大的挑战的话&#xff1b;那么&#xff0c;2022年绝对是机遇多多的一年。众所周知&#xff0c;随着疫情在全球范围内逐步得到控制&#xff0c;无论是国际还是国内的环境&#xff0c;都会呈现逐步回升的趋势&#…

PM2学习

目录 PM2简介 pm2的主要特性 PM2安装 启动PM2项目 查看应用列表&#xff08;查看当前机器执行的所有进程&#xff09; 查看某个应用详情 重启 停止 删除 日志查看 负载均衡 监控CPU/内存 内存使用超过上限自动重启 监听代码变化/自动重启 PM2简介 PM2是常用的node…

2023年【道路运输企业主要负责人】考试技巧及道路运输企业主要负责人复审模拟考试

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 道路运输企业主要负责人考试技巧是安全生产模拟考试一点通总题库中生成的一套道路运输企业主要负责人复审模拟考试&#xff0c;安全生产模拟考试一点通上道路运输企业主要负责人作业手机同步练习。2023年【道路运输企…

Redis应用场景及常见的数据类型

目录 一、Redis应用场景 1.1 Redis作为缓存 1.2 Redis作为消息队列 1.3 实现计数器和排行榜 1.4 实现分布式锁及分布式会话管理 二、Redis常见的数据类型 2.1 String&#xff08;字符串&#xff09;类型 2.2 list类型 2.3 Hash类型 2.4 Set类型 2.5 Sorted Set 一、Redis应用场…

什么是3D建模中的“高模”和“低模”?

3D建模中什么是高多边形和低多边形&#xff1f; 高多边形建模和低多边形建模之间的主要区别正如其名称所暗示的那样&#xff1a;您是否在模型中使用大量多边形或少量多边形。 然而&#xff0c;在决定每个模型的细节和多边形级别时&#xff0c;还需要考虑其他事项。最值得注意的…

安装宝塔,使用宝塔自动部署

这里用的是华为云服务器&#xff0c;其实也就是普普通通的一个linux操作系统 首先我们来到宝塔官网地址 宝塔面板下载&#xff0c;免费全能的服务器运维软件 (bt.cn) 翻到下面&#xff0c;会有使用脚本安装的命令。 yum install -y wget && wget -O install.sh https:/…

【C++面向对象】10. 多态

文章目录 【 前言 】【 虚函数 】【 纯虚函数 】 【 前言 】 多态按字面的意思就是多种形态。当 类之间存在层次结构&#xff0c;并且类之间是通过继承关联时 &#xff0c;就会用到多态。 C 多态意味着调用成员函数时&#xff0c;会根据调用函数的对象的类型来执行不同的函数…

msvcp140_CODECVT_IDS.dll丢失怎么办,分享两个有效的方法

在计算机使用的过程中&#xff0c;我们经常会遇到一些错误提示&#xff0c;其中最常见的就是“缺少xxx.dll文件”。这些文件是动态链接库&#xff08;DLL&#xff09;文件&#xff0c;它们包含了程序运行所需的函数和资源。而msvcp140_CODECVT_IDS.dll就是其中之一。那么&#…

动态规划专题——背包问题

&#x1f9d1;‍&#x1f4bb; 文章作者&#xff1a;Iareges &#x1f517; 博客主页&#xff1a;https://blog.csdn.net/raelum ⚠️ 转载请注明出处 目录 前言一、01背包1.1 使用滚动数组优化 二、完全背包2.1 使用滚动数组优化 三、多重背包3.1 使用二进制优化 四、分组背包…

抽象 I/O设备模型

I/O设备模型框架 RT-Thread提供了一套简单的I/O设备模型框架。 如图所示&#xff0c;它位于硬件和应用程序之间&#xff0c;共分成三层&#xff0c;从上到下分别是I/O设备管理层、设备驱动框架层、设备驱动层。 应用程序通过I/O设备管理接口获得正确的设备驱动&#xff0c;然…

一题带你写出图论算法模板!!!

这题是道基础的图论算法题目 注释很重要&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01; 在做这道题之前&#xff0c;我们先了解一下基础的图论算法吧&#xff01;&#xff01;&#xff01; 1.floyd&#xff1a; 这样可以求出所有点…

闲聊从零开发一个2D数字人流程实战

.2D数字人技术 百度&#xff0c;腾讯&#xff0c;等大厂都有自己的数字平台制作&#xff08;套壳&#xff1a;api后台转发vue前端&#xff09;&#xff0c;国外也有出名的heygen&#xff08;非常厉害一个&#xff09;通过开源项目组合实现&#xff0c;再打通每个项目已api的形…

LCD1602命令代码整合

本文为博主 日月同辉&#xff0c;与我共生&#xff0c;csdn原创首发。希望看完后能对你有所帮助&#xff0c;不足之处请指正&#xff01;一起交流学习&#xff0c;共同进步&#xff01; > 发布人&#xff1a;日月同辉,与我共生_单片机-CSDN博客 > 欢迎你为独创博主日月同…