使用Python+selenium3.0实现第一个自动化测试脚本

这篇文章主要介绍了使用Python+selenium实现第一个自动化测试脚本,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

最近在学web自动化,记录一下学习过程。

此处我选用python3.6+selenium3.0,均用最新版本,以适应未来需求。

环境:windows10,64位

一、安装python

python官方下载地址:Download Python | Python.org


进入页面就有两个版本的下载选择,2.x版本和3.x版本,或者根据系统选择对应版本。

点击Windows,跳转到Windows版本页面:


点选Python3.6.0版本,进入3.6版本页面,拉到页面下方,找到files

​选择64位or32位(x86-64即64,x86即32位),每种都有3个版本

embeddable zip file是嵌入式的,可以集成到其它应用中;

executable installer是exe可执行文件方式安装;

web-based installer是联网安装包,需要有网络环境;

如果不是嵌入式的,后两种方式都是可以的。这里我下的是web-based版本,下载后双击运行,进入安装程序:

可选默认安装方式,也可自定义安装,两种方式都需勾上下方的Add Python 3.6 to PATH,这里我们选自定义安装Customize installation

​这里我们按默认全选即可,Next

​勾上第一个选项,选择安装路径后(注意安装路径不要包含中文,否则后面安装工具可能会报错),点击install就开始安装了

等待安装...

​安装完成,点击close,python安装完毕~ 前面已勾选了add path,所以无需设置任何系统变量,即可使用。

安装后点击开始菜单,在菜单最上面能找到IDLE

IDLE是python自带的shell,点击打开,即可开始编写python脚本了~~

二、安装selenium

上面python已安装完毕,接下来安装selenium。

安装selenium之前需安装些必要工具

1. 安装setuptools

下载地址:setuptools · PyPI

在页面找到zip安装包,下载后解压。在命令行(运行->cmd)进入解压目录

执行 python setup.py install 即可安装,注意解压路径不要包含中文,否则安装会报错。

2.安装pip

下载地址:pip · PyPI

​在页面找到pip-9.x.tar.gz,下载后解压。同样在命令行进入解压目录,执行 python setup.py install 即可自动安装。

3.安装selenium

上面2个工具安装好后,安装selenium只需在命令行进入python安装路径Script目录下,执行 pip install -U selenium 即可自动安装。

完成安装后在IDLE输入 from selenium import webdriver ,如果没报错即代表安装成功。

三 注意事项

1. selenium3.0需要独立安装Firefox驱动,不再自带驱动,下载地址: Releases · mozilla/geckodriver · GitHub 下载对应版本,解压放在python安装路径下即可;

2. geckodriver驱动要求Friefox浏览器必须48版本以上,如果不是,更新Firefox;

3. 如果用Java开发,需注意3.0必须用JDK1.8版本才行;

4. Chromedriver下载:https://sites.google.com/a/chromium.org/chromedriver/downloads 同样也是下载后放在python安装路径下即可。 

四 第一个自动化脚本

完成上面所有准备工作,就可以开始第一个自动化脚本的编写啦~

打开IDLE,通过快捷键ctrl+n打开一个新窗口,在新窗口输入以下代码:

# coding = utf-8from selenium import webdriver  browser = webdriver.Firefox()  browser.get("http://www.baidu.com")  browser.find_element_by_id("kw").send_keys("selenium")browser.find_element_by_id("su").click()browser.quit()

保存为test1.py,通过快捷键F5运行脚本,可看到脚本启动Firefox浏览器进入百度页,输入“selenium” 点击搜索按钮,最后关闭浏览器的过程。第一个脚本即完成了~

# coding = utf-8为了防止乱码问题,以及在程序中添加中文注释,把编码统一成 UTF-8;from selenium import webdriver导入selenium的webdriver包,导入webdriver包后才能使用 webdriver API 进行自动化脚本开发;browser = webdriver.Firefox()将控制的 webdriver 的 Firefox 赋值给 browser;获得了浏览器对象才可以启动浏览器;browser.get("http://www.baidu.com")获得浏览器对象后,通过 get()方法,向浏览器发送网址;browser.find_element_by_id("kw").send_keys("selenium")通过 id=kw 定位到百度的输入框,并通过键盘方法send_keys()向输入框里输入selenium ;browser.find_element_by_id("su").click()通过 id=su 定位到搜索按钮,并向按钮发送单击事件(click()) ;browser.quit()退出并关闭窗口的每一个相关的驱动程序。

到此这篇关于使用Python+selenium实现第一个自动化测试脚本的文章就介绍到这了

Web自动化测试全套实战教程:Python+Selenium4环境搭建

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

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

相关文章

Pandas数据可视化

pandas库是Python数据分析的核心库 它不仅可以加载和转换数据,还可以做更多的事情:它还可以可视化 pandas绘图API简单易用,是pandas流行的重要原因之一 Pandas 单变量可视化 单变量可视化, 包括条形图、折线图、直方图、饼图等 …

JWT 详解

前言: 本博客为转载整合博客(主打一个:我们只做博客的搬运工),参考博客主要有: https://blog.csdn.net/weixin_45070175/article/details/118559272?ops_request_misc%257B%2522request%255Fid%2522%253A…

[ComfyUI进阶教程] 使用IPAdapater FaceID换脸

IPapapter 的团队推出IP-Adapter-FaceID模型,相较于旧模型大幅提高从图片还原人像的相似度。一张照片换脸现在可以更精准了。 使用人脸识别模型中的人脸 ID 嵌入代替 CLIP 图像嵌入,此外,使用 LoRA 来提高 ID 一致性。 IP-Adapter-FaceID 只需文字提示即可生成以人脸为条件的…

【基础篇】九、程序计数器 JVM栈

文章目录 0、运行时数据区域1、程序计数器2、JVM栈3、JVM栈--栈帧--局部变量表4、JVM栈--栈帧--操作数栈5、JVM栈--栈帧--桢数据6、栈溢出7、设置栈空间大小8、本地方法栈 0、运行时数据区域 JVM结构里,类加载器下来,到了运行时数据区域,即Ja…

视图与索引连表查询(内/外联)和子查询

目录 一、视图 1.1、概念: 1.2、场景: 1.3、用视图的意义 1.2、创建(增加)视图 1.3、修改视图 1.4、删除视图 1.5、查看视图 ​编辑 二、索引 2.1、概念 2.2、优缺点 优点: 缺点: 2.3、应用场景 2.4、会失效 2.5、…

JavaWeb——新闻管理系统(Jsp+Servlet)之jsp新闻查询

java-ee项目结构设计 1.dao:对数据库的访问,实现了增删改查 2.entity:定义了新闻、评论、用户三个实体,并设置对应实体的属性 3.filter:过滤器,设置字符编码都为utf8,防止乱码出现 4.service:业务逻辑处理 5.servlet:处…

【WPF】使用 WriteableBitmap 提升 Image 性能

【WPF】使用 WriteableBitmap 提升 Image 性能 前言WriteableBitmap 背景WriteableBitmap 渲染原理WriteableBitmap 使用技巧案例核心源码测试结果 前言 由于中所周不知的原因,WPF 中想要快速的更新图像的显示速率一直以来都是一大难题。在本文中,我将分…

Android学习(一):Android Studio安装与配置

Android学习(一):Android Studio安装与配置 一、安装 下载地址 下载zip文件,免安装。 二、下载资源 启动后,出现该弹框,点击Cancel。 点击Next 默认,点击Next。 点击Next。 点击Finish 开始…

性能优化-OpenMP基础教程(二)

本文主要介绍OpenMP并行编程技术,编程模型、指令和函数的介绍、以及OpenMP实战的几个例子。希望给OpenMP并行编程者提供指导。 🎬个人简介:一个全栈工程师的升级之路! 📋个人专栏:高性能(HPC&am…

学习Redis缓存

学习Redis缓存 NoSQL和SQL的区别缓存缓存作用缓存成本添加Redis缓存 Redis特征Redis中数据结构Redis通用命令String类型Key的层级格式Hash类型Redis的Java客户端 NoSQL和SQL的区别 缓存 缓存就是数据交换的缓冲区,是存储数据的临时地方,一般读写性比较高…

async和await关键字

目录 async 关键字await 关键字使用 async 和 await 解决回调地狱问题错误处理总结 在JavaScript中, async和 await是用于简化基于 Promise的异步编程的关键字。在ES2017(也称为ES8)中引入后,它们迅速成为管理异步代码的首选方…

SQL高级:事务

在前面的内容中,我们学习了很多SQL的高级语法,包括窗口函数,存储过程等。在这篇文章中,我们要学习一个很重要的概念,事务。 事务的定义 为了讲清楚事务,很多人拿银行转账来举例,不得不说这真的是一个非常恰当的例子。一个账户要增加对应的金额,另一个账户需要减少对应…

RT-DETR Gradio 前端展示页面

效果展示 使用方法 Gradio 是一个开源库,旨在为机器学习模型提供快速且易于使用的网页界面。它允许开发者和研究人员轻松地为他们的模型创建交互式的演示,使得无论技术背景如何的人都可以方便地试用和理解这些模型。使用Gradio,你只需几行代码就可以生成一个网页应用程序,…

【C程序设计】C函数指针与回调函数

函数指针 函数指针是指向函数的指针变量。 通常我们说的指针变量是指向一个整型、字符型或数组等变量,而函数指针是指向函数。 函数指针可以像一般函数一样,用于调用函数、传递参数。 函数指针变量的声明: typedef int (*fun_ptr)(int,i…

mysql之视图mysql连接案例索引

文章目录 一、视图1.1 含义1.2 操作1.2.1 创建视图1.2.2 视图的修改1.2.3 删除视图1.2.4 查看视图 二、连接案例01)查询" 01 "课程比" 02 "课程成绩高的学生的信息及课程分数02)查询同时存在" 01 "课程和" 02 "课程的情况03&#xff0…

【信息论与编码】习题-判断题-第二部分

目录 判断题 第二部分24. 信道矩阵 代表的信道的信道容量C125. 信源熵具有严格的下凸性。26. 率失真函数对允许的平均失真度具有上凸性。27. 信道编码定理是一个理想编码的存在性定理,即:信道无失真传递信息的条件是信息率小于信道容量 。28. 信道的输出…

修改 Ubuntu 的配置

目录 一、修改地址 1. 修改本机IP 二、修改网关 1. 查看网关地址 2. 设置默认网关 三、重启网络 1. 重启网络 2. 刷新网络 四、修改主机名 1. 查看主机名 2. 修改主机名 一、修改地址 1. 修改本机IP sudo ifconfig en…

【视频图像篇】模糊图像增强技术之视频平均帧处理

【视频图像篇】模糊图像增强技术之视频平均帧处理 0、目录 1、实验环境 2、集成和超级分辨率 3、色彩清晰化 4、翻转 总结 1、实验环境 系统环境Windows 11 专业版,[23H2(22631.2715)Impress,[v8.0.3.2] 2、集成和超级分辨…

如何使用VsCode编译C语言?

下载VsCode (1) 解压到D盘跟目录 (2) 运行[vscode.reg],注册右键菜单 (3) 进入[pack]文件夹,运行[install.bat]。安装基本插件。 下载mingw32 (1) 解压任意目录 (2) 我的电脑右键–高级系统设置–高级–环境变量–系统变量–Path(双击)–空白行(双击)–…