当前位置: 首页 > news >正文

Selenium+Python自动化测试环境搭建

selenium + python 自动化测试 —— 环境搭建

  关于 selenium

      Selenium 是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7、8、9)、Mozilla Firefox、Mozilla Suite等。

      Selenium 框架底层使用JavaScript模拟真实用户对浏览器进行操作。测试脚本执行时,浏览器自动按照脚本代码做出点击,输入,打开,验证等操作,类似真实用户,从终端用户角度测试。

      Selenium 使用简单,可使用Java,Python等多种语言编写用例脚本。

      selenium RC 及 Webdriver

        selenium1(有名Selenium RC),他曾经有个非常强的竞争对手就是Webdriver,后来Selenium团队发布了Selenium2。

        selenium2= selenium1+webdriver,这样的组合使Selenium的功能增强了n倍,用户也可以很自由的选择自己喜欢的工具。

  关于 python

      Python 是一种面向对象、解释型计算机程序设计语言。Python语法简洁而清晰,具有丰富和强大的类库。

      这边选择 Python,有如下原因:

        其一,由于其基础语法入门较易;Python的设计哲学是“优雅”、“明确”、“简单”。

        其二,拥有强大的类库,以及第三方类库的支持(selenium 本身就可以算作 python 的第三方类库 之一);

        其三,Python 是完全面向对象的语言。Python 也并非简单的“脚本语言”,而是一种高级动态编程语言。这为后续测试框架的扩展做了有力的支持,可以说是无限的。

  python 安装

    仅介绍 WINDOWS下安装(图示参考:百度经验 )安装步骤如下:          

    1. 官网下载安装程序:Download Python | Python.org
    2. 下载好后双击打开,选择使用的用户;默认 install for all users;             点击下一步(next)
    3. 选择安装路径安装,可修改安装路径;默认 C盘下,如 c:\python34;       点击下一步(next)
    4. 选择自定义的内容,* 建议勾选上 Add Python.exe to Path;                点击下一步(next)
    5. 等待安装并点击 Finish
    6. 双击 Python 程序,CMD 下输入 Python,显示类似如下表示安装成功

        

      系统环境变量: 若 步骤4 勾选,环境变量一般都配置成功了;

        若仍有问题,查看 我的电脑 - 属性 - 高级 - 环境变量,Path 的值是否包含 当前Python安装目录路径;

        若无,追加 路径 如 " ;c:\python34 " (注意,需要加分号 ";")粘贴至 Path的值中;再次 CMD 输入 Python 验证是否安装成功

  Notepad++ 安装及运行调试Python

    建议使用 Notepad ++  (当然使用 Eclipse 等也行,需装支持Python的插件)

    Notepad++ 是一个开源的文本编辑器,功能强大且使用方便,可支持代码查看(支持Python),但初始是无法运行的。

    现有如下方法使用 Notepad++ 运行 Python 脚本,F5 或 点击 运行(Run)- 运行(Run)  弹出Run的窗口如图:

           

    将下列语句拷贝粘贴至输入框中:
    cmd /k python "$(FULL_CURRENT_PATH)" & PAUSE & EXIT    

 

    调试并运行:新建 python 文件(.py)如 test.py ,输入语句如  print("Hello World")  保存后运行,运行后如图:

    

  安装 selenium  python 库包

      类库地址:selenium · PyPI    cmd 下   pip install -U selenium  

       

  简单 selenium + python 示例

    新建一 test.py 并运行,代码如下:

1 # !/usr/bin/env python
2 # -*- coding:utf-8 -*-  
3 
4 from selenium import webdriver
5 
6 browser = webdriver.Firefox()
7 browser.get('http://www.baidu.com')

    下图为实际运行效果,webdriver 启动新的firefox窗口,打开百度首页。

    

  安装 selenium IDE Firefox 插件

    Firefox 插件 selenium IDE 提供方便快捷的浏览器录制,安装很简单,具体安参见: 百度经验 ; IDE 具体使用参见后续博文。

    

  

Python接口自动化测试零基础入门到精通(2023最新版)

相关文章:

Selenium+Python自动化测试环境搭建

selenium python 自动化测试 —— 环境搭建 关于 selenium Selenium 是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7、8、9)、Mozilla Firefox、Mozilla Suite等。 Selenium 框架底层使用JavaS…...

k8s存储卷 PV和PVC

目录 emptyDir存储卷 hostPath存储卷 nfs共享存储卷 PVC 和 PV 生命周期 一个PV从创建到销毁的具体流程如下: 静态pvc 动态pvc 3、定义PVC 4、测试访问 搭建 StorageClass NFS,实现 NFS 的动态 PV 创建 1、在stor01节点上安装nfs&#xff0…...

【架构】后端项目经典分层架构介绍

文章目录 前言分层架构项目实践示例项目结构 其他知识 前言 开发后端项目时,我们最常见的一种架构模式就是分层架构 。 所谓的分层架构,就是把系统自上而下分为多个不同的层,每一层都有特定的功能和职责,且只和自己的直接上层与…...

二叉树的中序遍历

一、题目。 给定一个二叉树的根节点 root ,返回 它的 中序 遍历 。 示例 1: 输入:root [1,null,2,3] 输出:[1,3,2] 示例 2: 输入:root [] 输出:[] 示例 3: 输入:…...

什么是代理IP池?真实测评IP代理商的IP池是否真实?

代理池充当多个代理服务器的存储库,提供在线安全和匿名层。代理池允许用户抓取数据、访问受限制的内容以及执行其他在线任务,而无需担心被检测或阻止的风险。代理池为各种在线活动(例如网页抓取、安全浏览等)提高后勤保障。 读完…...

接收表单数据

如果您尝试按下提交按钮,浏览器将显示“Method Not Allowed”错误。这是因为到目前为止,前一节中的登录视图函数完成了一半的工作。它可以在网页上显示表单,但是还没有逻辑来处理用户提交的数据。这是Flask-WTF使工作变得非常简单的另一个领域…...

串口通信(11)-CRC校验介绍算法

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

什么是Java虚拟机(JVM),它的作用是什么?

什么是Java虚拟机(JVM) Java虚拟机(Java Virtual Machine,JVM)是Java平台的关键组成部分,它是一种在不同操作系统上运行Java程序的虚拟计算机。 JVM的作用是执行Java字节码(Java bytecode&#…...

力扣876:链表的中间结点

力扣876:链表的中间结点 题目描述: 给你单链表的头结点 head ,请你找出并返回链表的中间结点。 如果有两个中间结点,则返回第二个中间结点。 示例 1: 输入:head [1,2,3,4,5] 输出:[3,4,5]…...

三菱FX3U系列—原点回归指令

目录 一、简介 二、指令形式 1、原点指令[ZRN/DZRN] 2、带搜索的原点回归指令[DSZR] 三、回归指令运行过程 1、ZRN原点回归运行过程 2、带搜索的原点回归运行过程 四、特殊辅助继电器 五、特殊输出模块 六、总结 一、简介 用于将电机或伺服驱动器控制的轴回到预定的原…...

ES常用查询命令

一、基本命令 1、获取所有_cat命令 curl -X GET localhost:9200/_cat 2、获取es集群服务健康状态 curl -X GET localhost:9200/_cat/health?v epoch: 时间戳的 Unix 时间戳格式,表示快照生成的时间。 timestamp: 可读性更强的时间戳格式,表示快照生…...

【Qt之元对象系统】

描述 Qt的元对象系统(Meta-Object System)是Qt框架的核心机制之一,它提供了运行时类型信息(RTTI)和信号与槽(Signals and Slots)机制的支持。元对象系统在Qt中扮演了很重要的角色,它…...

基于FPGA的EMAC模块与FIFO模块:高速数据传输与存储

基于FPGA的EMAC模块与FIFO模块:高速数据传输与存储 在现代社会,高速数据传输和存储是信息技术领域的关键问题之一。而基于FPGA的EMAC模块与FIFO模块则成为了解决这些问题的重要途径。本文将介绍这两个模块的原理、实现方法以及如何在FPGA中应用它们。 …...

大数据毕业设计选题推荐-农作物观测站综合监控平台-Hadoop-Spark-Hive

✨作者主页:IT毕设梦工厂✨ 个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Py…...

高校教务系统登录页面JS分析——长沙理工大学教务系统

高校教务系统密码加密逻辑及JS逆向 本文将介绍高校教务系统的密码加密逻辑以及使用JavaScript进行逆向分析的过程。通过本文,你将了解到密码加密的基本概念、常用加密算法以及如何通过逆向分析来破解密码。 本文将是本专栏最后一篇文章,我看了绝大多数高…...

element-ui的form校验失败

数值与字符串混淆 数值 <el-input type"number" v-model.number"form.averageFruitWeight" placeholder"请输入平均单果重"/>字符串 fruitDevelopmentStage: [{pattern: ^[-\\]?([0-9]\\.?)?[0-9]$, message: 输入必须为数字, trigge…...

java数据结构--阻塞队列

目录 一.概念 二.生产者消费者问题 三.阻塞队列接口BlockingQueue 四.基于数组实现单锁的阻塞队列 1.加锁方式 2.代码实现 3.解释说明 (1).offer添加元素 &#xff08;2&#xff09;poll取出元素 4.timeout超时时间 5.测试 五.基于数组实现双锁的阻塞队列 1.问题 …...

使用p2p实现Linux内网快速分发文件

安装opentracker 方法一&#xff1a;编译安装 参考如下官方文档进行操作即可&#xff0c;国内下载源码会比较慢 https://erdgeist.org/arts/software/opentracker/ 编译完成后会生成可执行文件opentracker和opentracker.debug 可以直接./opentracker.debug进行验证 方法二&a…...

Android Studio报错:connect refused

参考链接&#xff1a; https://blog.csdn.net/qq_43213783/article/details/113936012 参考文章中说报错主要是由于代理导致的&#xff0c;在文件->设置->外观与行为->系统设置->HTTP代理。 方法一&#xff1a; 查看打开代理&#xff08;前提是代理可以通网&#x…...

ubuntu 源码编译安装make过程很慢问题解决

一般下载的时候有两种方式 使用wget 下载后使用tar命令解压直接git clone 源代码 下载完成之后&#xff0c;进入目录&#xff0c;新建一个文件夹build&#xff0c;防止影响码源结构第三步&#xff0c;进入到build目录&#xff0c;使用cmake编译 cmake ..第四步直接make编译 …...

如何利用ReTerraForged地形引擎打造个性化Minecraft世界

如何利用ReTerraForged地形引擎打造个性化Minecraft世界 【免费下载链接】ReTerraForged TerraForged for modern MC versions 项目地址: https://gitcode.com/gh_mirrors/re/ReTerraForged 你是否厌倦了Minecraft中重复的地形生成模式&#xff1f;是否想要创建独特、壮…...

如何免费突破百度网盘限速:Python直连解析工具终极指南

如何免费突破百度网盘限速&#xff1a;Python直连解析工具终极指南 【免费下载链接】baidu-wangpan-parse 获取百度网盘分享文件的下载地址 项目地址: https://gitcode.com/gh_mirrors/ba/baidu-wangpan-parse 你是否曾经为百度网盘缓慢的下载速度而烦恼&#xff1f;想要…...

别再用Keil C51了!STC32G开发环境搭建避坑指南(FreeRTOS工程详解)

从C51到C251&#xff1a;STC32G开发环境迁移实战与FreeRTOS工程深度解析 当STC32G系列单片机以5元价位提供128KB Flash和12KB RAM的配置时&#xff0c;相信很多传统8051开发者都按捺不住升级的冲动。但真正开始环境迁移时&#xff0c;你会发现从Keil C51到Keil C251的转变远不止…...

零基础学云计算去哪家机构好?拿技术说话这几家推荐看看

在数字化浪潮持续深入与云原生技术成为主流的今天&#xff0c;云计算已不再是一个可选项&#xff0c;而是支撑企业创新与运营的关键数字基座。从基础资源上云到云上智能化应用&#xff0c;市场对精通云架构设计、运维、开发及安全防护的专业人才需求持续井喷。然而&#xff0c;…...

Wan2.2-I2V-A14B持续集成:GitHub Actions自动化构建与部署镜像

Wan2.2-I2V-A14B持续集成&#xff1a;GitHub Actions自动化构建与部署镜像 1. 引言 最近在开发Wan2.2-I2V-A14B项目时&#xff0c;每次手动构建和部署镜像都让我感到效率低下。直到我开始使用GitHub Actions&#xff0c;才发现原来持续集成可以如此简单高效。本文将带你一步步…...

从巴赫到比特:揭秘MIDI编号、音符名称背后的音乐与数学简史

从巴赫到比特&#xff1a;揭秘MIDI编号、音符名称背后的音乐与数学简史 当你在钢琴上按下中央C键时&#xff0c;听到的不仅是振动频率为261.63Hz的声波——你触发的是一套跨越三个世纪的精密系统。这套系统将数学家的计算、音乐家的实践和工程师的标准化完美融合&#xff0c;最…...

Swarm模式已过时?Docker 27原生调度引擎升级指南,3天完成零停机迁移

第一章&#xff1a;Swarm模式的历史定位与Docker 27调度范式跃迁Docker Swarm 曾是 Docker 原生容器编排的基石&#xff0c;自 Docker 1.12 起以内置模式&#xff08;Swarm Mode&#xff09;正式取代独立的 Swarm 工具链&#xff0c;标志着轻量级、声明式集群管理的开端。它以去…...

“再一次被数学打动”,这是一套被读者追更求动画化的科普书!

“树下站着一个少女&#xff0c;她正抬头仰望着那棵樱花树。我想&#xff1a;她是位新生吧。大概和我一样也是溜出来的。我也抬头望了望那棵樱花树。模模糊糊的花色遮住了天空。刮起一阵风&#xff0c;飘舞着的樱花花瓣将少女裹住。少女也看到了我……"春光明媚&#xff0…...

Revit插件开发进阶:如何设计一个专业且易用的Ribbon UI?聊聊按钮交互逻辑与用户体验

Revit插件开发进阶&#xff1a;专业Ribbon UI设计的交互逻辑与用户体验优化 在Revit二次开发领域&#xff0c;功能实现只是基础门槛&#xff0c;真正区分业余与专业插件的关键往往在于界面设计的专业度和用户体验的流畅性。许多开发者能够熟练调用API实现功能&#xff0c;却忽略…...

嵌入式开发踩坑记:为什么我申请的0x1000内存,实际只有4KB?

嵌入式开发踩坑记&#xff1a;为什么我申请的0x1000内存&#xff0c;实际只有4KB&#xff1f; 刚接触嵌入式开发时&#xff0c;我曾在STM32的DMA缓冲区配置中写下uint8_t buffer[0x1000]&#xff0c;满心以为这只是一个"小小的"4字节空间。直到程序运行时出现诡异的内…...