Selenium4自动化测试框架

Selenium 介绍

Selenium 是目前用的最广泛的 Web UI 自动化测试框架,核心功能就是可以在多个浏览器上进行自动化测试,支持多种编程语言,目前已经被 google,百度,腾讯等公司广泛使用。

开发步骤

1、配置 google 驱动的环境变量,如果不配置需要在代码中指定驱动位置。

2、eclipse 中导入 Java Selenium 的依赖。

3、编写脚本代码。

登录网站

WebDriver driver=new ChromeDriver();
driver.manage().window().maximize();
driver.manage().timeouts().pageLoadTimeout(300000, TimeUnit.SECONDS);
driver.get("http://192.168.2.169:8090/login");
driver.findElement(By.name("username")).sendKeys("wydong");
driver.findElement(By.name("cipher")).sendKeys("123456");
driver.findElement(By.id("login")).click();

元素定位

1、通过 id 定位。

2、通过 name 定位。

3、通过 tagName 定位。

4、通过 className 定位。

5、通过 linkText 定位(链接全部文字)。

6、通过 partialLinkText 定位(链接部分文字)。

7、通过 XPath 定位(相对路径)。

8、通过 cssSelector 定位(推荐使用)。

WebDriver 操作

1、获取页面源码。

2、获取当前页面的 url。

3、访问指定 url。

4、关闭驱动对象。

5、获取打开页面的句柄。

元素等待

1、硬性等待,线程休眠。

2、隐式等待,在超时时间段内,不断查找元素。

3、显试等待,一直等到某个条件符合后才继续执行。

WebDriver 需要切换场景

1、操作 alert 弹框。

2、操作 confirm 弹框。

3、操作 iframe 内元素。

4、操作 Window 元素。

其他

1、通过 JavascriptExcutor 对象执行脚本来操作一些页面元素。

2、通过 Action 对象,可以模仿鼠标的一些特殊操作,如右键、拖拽。

3、非 input 框的上传,利用第三方的工具实现文件上传(如autoit)。

4、遇到验证码的处理:手动去除、图片识别或者万能验证码(后台验证必过)。

5、借助其他专业的框架,可以生成漂亮的测试报告。

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

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

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

相关文章

机械革命极光Pro重装Win10系统图解

机械革命极光Pro是性能优秀的笔记本电脑,深受广大用户的喜欢,现在用户想给笔记本电脑重新安装一下操作系统,但不知道重装系统的详细步骤。下面小编将带来机械革命极光Pro笔记本电脑重装系统Win10版本的步骤介绍,帮助更多的用户完成…

Elasticsearch:无需搜索 “Christmas” 即可找到有关圣诞节的书籍

随着假期的临近,我期待着变得舒适,拿起一本新书,享受轻松的时光。 但是使用搜索栏在线发现图书并不像看起来那么容易......大多数零售搜索引擎仅依赖于关键字搜索,当我们确切地知道我们正在寻找什么书名时,这很好&…

Kotlin 类

1、声明 class 关键字声明类 类声明由类名、类头(指定其类型参数、主构造函数等)以及由花括号包围的类体构成;类头与类体都是可选的; 如果一个类没有类体,可以省略花括号 class Person { /*……*/ }// 没有声明任何…

分布式事务是什么

分布式事务是企业集成中的一个技术难点,也是每一个分布式系统架构中都会涉及到的一个东西,特别是在微服务架构中,几乎可以说是无法避免,本文就分布式事务来简单聊一下。 数据库事务 我们先从数据库事务说起。数据库事务可能大家…

【大数据存储与处理】开卷考试总复习笔记

实验部分 一、 HBase 的基本操作 1. HBase Shell入门 # 进入HBase Shell环境 hbase shell2. HBase创建数据库表 # 创建表命令 create user, info1, info2 # 查看所有表 list # 查看表结构 describe user3. HBase数据操作 数据插入 put user, 0001, info1:name, jack put us…

傻瓜式教学Docker 使用docker compose部署 php nginx mysql

首先你可以准备这个三个服务,也可以在docker compose 文件中 直接拉去指定镜像,这里演示的是镜像服务已经在本地安装好了,提供如下: PHP # 设置基础镜像 FROM php:8.2-fpm# install dependencies RUN apt-get update && apt-get install -y \vim \libzip-dev \libpng…

【Redis】Redis 的数据类型

有五种常用数据类型:String、Hash、Set、List、SortedSet。以及三种特殊的数据类型:Bitmap、HyperLogLog、Geospatial ,其中HyperLogLog、Bitmap的底层都是 String 数据类型,Geospatial 的底层是 Sorted Set 数据类型。 五种常用…

智慧医疗平台开发:在线问诊系统源码搭建详解

如今,在线问诊系统的出现为患者提供了更为灵活、便捷的医疗服务。我们在开发系统之前,应该先简单了解系统的功能以及相关的技术。 一、核心功能需求 -用户注册和登录:用户可以通过注册账户,或者使用第三方登录方式进入系统。 …

高速风筒4套硬件案子谁会成为王者----【其利天下技术】

关于高速风筒的硬件电路,从MCU的角度来说,严格意义上是可以区分为四种硬件电路的,当前市场上这四种硬件电路也是并行存在的。所以有朋友电话问我,我怎么看待这四种硬件方案的优劣势和未来的?今天特意根据个人视角&…

Hive01_安装部署

Hive的安装 上传安装包 解压 tar zxvf apache-hive-3.1.2-bin.tar.gz mv apache-hive-3.1.2-bin hive解决Hive与Hadoop之间guava版本差异 cd /export/software/hive/ rm -rf lib/guava-19.0.jarcp cp /export/software/hadoop/hadoop-3.3.0/share/hadoop/common/lib/guava-27.0…

基层医疗卫生信息可视化:Flask、MySQL、Echarts的综合利用

基层医疗卫生信息可视化:Flask、MySQL、Echarts的综合利用 正文: 社区卫生健康数据可视化是提升医疗服务水平和促进健康管理的有效手段。本文将介绍一种基于Flask、MySQL和Echarts技术的社区卫生健康数据可视化系统,数据源来自市基层医疗卫生…

Apache RocketMQ,构建云原生统一消息引擎

本文整理于 2023 年云栖大会林清山带来的主题演讲《Apache RocketMQ 云原生统一消息引擎》 演讲嘉宾: 林清山(花名:隆基),Apache RocketMQ 联合创始人,阿里云资深技术专家,阿里云消息产品线负…

rocky linux9 安装go 即接下去

首先,更新系统的软件包索引以获取最新的软件包信息: sudo dnf update使用以下命令安装 Go 语言: sudo dnf install golang安装完成后,你可以通过以下命令验证 Go 语言是否安装成功: go version4、用相对路径初始化g…

适配器模式(Adapter)

适配器模式(Adapter Pattern)是一种结构型设计模式,它允许不兼容的接口之间的协作。该模式涉及一个适配器,用于在已存在的接口和需要使用的接口之间进行适配。在Java中,适配器模式主要有两种实现方式:类适配器和对象适配器。 类适配器模式 在类适配器模式中,适配器通过继…

智能优化算法应用:基于孔雀算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于孔雀算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于孔雀算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.孔雀算法4.实验参数设定5.算法结果6.参考文献7.MA…

Go语言学习一

Go语言的发展历史 Go语言的三个作者分别是:罗伯特格利茨默(Robert Griesemer)、罗伯派克 (Rob Pike) 和 肯汤普森(Ken Thompson)。 Robert Griesemer是Google V8、Chubby和HotSpot JVM的主要贡献…

Crowd Counting近期研究(附代码资源)

1.Semi-Supervised Crowd Counting with Contextual Modeling: Facilitating Holistic Understanding of Crowd Scenes paper:https://arxiv.org/abs/2310.10352 code:https://github.com/cha15yq/MRC-Crowd 摘要: 为了减轻训练可靠的人群计数模型所需的繁重标注…

二分查找——OJ题(二)

📘北尘_:个人主页 🌎个人专栏:《Linux操作系统》《经典算法试题 》《C》 《数据结构与算法》 ☀️走在路上,不忘来时的初心 文章目录 一、点名1、题目讲解2、算法原理3、代码实现 二、搜索旋转排序数组中的最⼩值1、题目讲解2、算…

免费部署静态网页,国内外访问套餐 GitHub Pages、Vercel、CLOUDFLARE

部署自己的博客或者前端静态页面,要嘛找一些免费托管平台,要嘛自己买服务器和域名。买了服务器,还得自己配置 nginx 和域名解析等。如果希望国内外都能访问,服务器最好是香港的,域名也可以不用备案。如果只是博客&…

rime中州韵 程序配置结构讲解 保姆级教程

在完成了 Rime 引擎/框架的安装,并安装了基础输入方案后,我们就可以在这个基础上开始 DIY 了。毕竟,Rime 最大的优势就是可定制性强。 但是,在我们 DIY 前,我们需要先做些准备工作。磨刀不误砍柴工,我们需…