Selenium - 自动化测试框架
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 定位(推荐使用)。
同时,在这我也准备了一份软件测试视频教程(含接口、自动化、性能等),需要的可以直接在下方观看就行,希望对你有所帮助!【公众号:互联网杂货铺】免费领取软件测试资料!
2024年Python自动化测试全套保姆级教程,70个项目实战,3天练完,永久白嫖...
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、借助其他专业的框架,可以生成漂亮的测试报告。
相关文章:
Selenium - 自动化测试框架
Selenium 介绍 Selenium 是目前用的最广泛的 Web UI 自动化测试框架,核心功能就是可以在多个浏览器上进行自动化测试,支持多种编程语言,目前已经被 google,百度,腾讯等公司广泛使用。 开发步骤 1、配置 google 驱动…...
RFID技术在汽车制造:提高生产效率、优化物流管理和增强安全性
RFID技术在汽车制造:提高生产效率、优化物流管理和增强安全性 随着科技的进步,物联网技术已经深入到各个领域,尤其在制造业中,RFID技术以其独特的优势,如高精度追踪、实时数据收集和自动化操作,正在改变传统的生产方式…...
git异常
1.异常现象 换机新安装 Git 后,拉代码时出现问题: Unable to negotiate with 10.18.18.18 port 29418: no matching key exchange method found. Their offer: diffie-hellman-group14-sha1,diffie-hellman-group1-sha1 fatal: Could not read from rem…...
【C语言学习疑难杂症】第12期:如何从汇编角度深入理解y = (*--p)++这行代码(易懂版)
对于如下代码,思考一下输出结果是什么? int a[] = {5, 8, 7, 6, 2, 7, 3}; int y, *p = &a[1]; y = (*--p)++; printf("%d ",y); printf("%d",a[0]); 这个代码看似简单,但是在“y = (*--p)++;”这行代码里,编译器做了很多工作。 我们在vs2022的…...
5G阅信应用场景有哪些?
5G阅信的应用场景非常广泛,以下是一些常见的应用场景: 1.工业自动化:5G阅信可以连接各种工业设备和传感器,实现设备之间的实时通信和控制,提高生产效率和自动化水平。 2.物联网和智能家居:5G阅信可以连接各…...
使用OpenSSL生成自签名SSL/TLS证书和私钥
使用OpenSSL生成自签名SSL/TLS证书和私钥 前提: 系统安装了OpenSSL; 系统:windows、linux都可; 1 生成私钥 创建一个名为 server.key 的私钥文件,并使用 RSA 算法生成一个 2048 位的密钥。 openssl genrsa -out s…...
pycharm2023.2激活和新建项目,python3.12安装永久换源
pycharm安装 安装版本选择链接 激活参考链接 python安装 Windows下载指定python链接 选择相应版本的64位即可。 安装可以自己选择安装位置,记得勾选,add path即可。其余下一步默认即可。 windows临时换源 pip install 模块包名字 -i https://pypi.…...
FPGA分频电路设计(2)
实验要求: 采用 4 个开关以二进制形式设定分频系数(1-10),实现对已知信号的分频。 类似实验我之前做过一次,但那次的方法实在是太笨了: 利用VHDL实现一定系数范围内的信号分频电路 需要重做以便将来应对更…...
【三】【C语言\动态规划】珠宝的最高价值、下降路径最小和、最小路径和,三道题目深度解析
动态规划 动态规划就像是解决问题的一种策略,它可以帮助我们更高效地找到问题的解决方案。这个策略的核心思想就是将问题分解为一系列的小问题,并将每个小问题的解保存起来。这样,当我们需要解决原始问题的时候,我们就可以直接利…...
爬虫工作量由小到大的思维转变---<第二十八章 Scrapy中间件说明书>
爬虫工作量由小到大的思维转变---<第二十六章 Scrapy通一通中间件的问题>-CSDN博客 前言: (书接上面链接)自定义中间件玩不明白? 好吧,写个翻译的文档点笔记,让中间件更通俗一点!!! 正文: 全局图: 爬虫中间件--->翻译笔记: from scrapy import s…...
从Maven初级到高级
一.Maven简介 Maven 是 Apache 软件基金会组织维护的一款专门为 Java 项目提供构建和依赖管理支持的工具。 一个 Maven 工程有约定的目录结构,约定的目录结构对于 Maven 实现自动化构建而言是必不可少的一环,就拿自动编译来说,Maven 必须 能…...
orangepi--开发板配置网络SSH登录
常用指令: ifconfig-------------------------------------查看网络地址 sudo passwd orangepi-------------------------改密码 nmcli dev wifi-------------------------------查看wifi nmcli dev wifi connect xx password xx--------连接网络 ip addr show wla…...
简单通讯录管理系统第4关:简单通讯录管理系统之修改通讯录用户信息
任务描述 本关任务:实现修改通讯录用户电话号码的功能。 编程要求 仔细阅读右侧编辑区内给出的代码框架及注释,在 Begin-End 中实现通讯录管理系统中修改用户信息的功能,具体要求如下: 在 PhoneManage.java 类定义一个 changeP…...
macOS编译ckb-next
macOS x86 成功,下一步,测试:m1、m2、m3 。 1、Homebrew # 三选一 /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" # /bin/bash -c "$(curl -fsSL https://raw.gith…...
漏刻有时数据可视化Echarts组件开发(46)散点图颜色判断
series组件 series: [{name: Top 5,type: scatter,coordinateSystem: bmap,data: convertData(data.sort(function (a, b) {return b.value - a.value;}).slice(0, 6)),symbolSize: 20,encode: {value: 2},showEffectOn: render,rippleEffect: {brushType: stroke},label: {fo…...
智能优化算法应用:基于驾驶训练算法3D无线传感器网络(WSN)覆盖优化 - 附代码
智能优化算法应用:基于驾驶训练算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于驾驶训练算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.驾驶训练算法4.实验参数设定5.算法结果6.…...
【论文阅读】MCANet: Medical Image Segmentation with Multi-Scale Cross-Axis Attention
文章目录 摘要创新点总结实现效果总结 摘要 链接:https://arxiv.org/abs/2312.08866 医学图像分割是医学图像处理和计算机视觉领域的关键挑战之一。由于病变区域或器官的大小和形状各异,有效地捕捉多尺度信息和建立像素间的长距离依赖性至关重要。本文提…...
机器视觉实战应用:手势、人脸、动作以及手势鼠标构建(一)
CV实战应用手势、人脸、动作以及手势鼠标构建(一)总起 核心思想 手势识别是一种常见的计算机视觉应用,它可以通过摄像头或者预先录制的视频图像来追踪和识别人类手势。手势识别的应用非常广泛,例如在游戏、虚拟现实、人机交互等…...
python作业题百度网盘,python作业答案怎么查
大家好,小编来为大家解答以下问题,python作业题百度网盘,python作业答案怎么查,今天让我们一起来看看吧! 1 以下代码的输出结果为: alist [1, 2, 3, 4] print(alist.reverse()) print(alist) A.[4, 3, 2, …...
centos7.9中离线安装nginx开启ssl,arm架构
一、首先需要去国内相关镜像库下载相关依赖rpm: http://mirrors.bfsu.edu.cn/centos-altarch/7.9.2009/os/aarch64/ http://mirror.nju.edu.cn/centos-altarch/7.9.2009/os/aarch64/ http://mirrors.tuna.tsinghua.edu.cn/centos-altarch/7.9.2009/os/aarch64/ htt…...
3分钟学会使用PPT计时器:告别演讲超时的终极解决方案
3分钟学会使用PPT计时器:告别演讲超时的终极解决方案 【免费下载链接】ppttimer 一个简易的 PPT 计时器 项目地址: https://gitcode.com/gh_mirrors/pp/ppttimer 你是否在PPT演示时总是担心超时?是否希望有一个工具能自动帮你管理演讲时间&#x…...
Perplexity谚语查询功能实测报告:7类典型误用场景+5步精准调优法,错过即降效40%
更多请点击: https://kaifayun.com 第一章:Perplexity谚语查询功能的核心价值与适用边界 Perplexity 的谚语查询功能并非通用语言模型的简单问答接口,而是一个面向文化语义深度解析的专用能力模块。它依托高质量结构化谚语知识图谱与上下文感…...
Windows进程注入技术深度解析:从DLL注入到反射式加载
1. 项目概述与核心价值在Windows安全研究、恶意软件分析乃至一些高级的软件开发场景中,“进程注入”是一个绕不开的核心技术点。简单来说,它指的是将一个代码模块(通常是DLL)或一段代码(Shellcode)加载到另…...
保姆级教程:在Linux上用ufs-utils工具搞定UFS RPMB分区读写与密钥配置
嵌入式Linux下UFS RPMB分区安全操作全指南 在嵌入式系统开发中,UFS(Universal Flash Storage)存储设备因其高性能和低功耗特性,已成为移动设备和嵌入式平台的首选存储方案。其中,RPMB(Replay Protected Mem…...
深入解析Android ContentProvider:从基础到高级应用与面试准备
引言 在Android开发中,数据共享和访问控制是构建高效、安全应用的关键。ContentProvider作为Android四大组件之一,专门用于管理结构化数据的共享,提供标准化的接口供应用间安全访问数据。本文将以ContentProvider为核心领域,全面探讨其原理、实现、应用及面试常见问题。文…...
CausalImpact最佳实践:避免因果推断中的7个常见陷阱
CausalImpact最佳实践:避免因果推断中的7个常见陷阱 【免费下载链接】CausalImpact An R package for causal inference in time series 项目地址: https://gitcode.com/gh_mirrors/ca/CausalImpact 在时间序列分析领域,因果推断是揭示变量间真实…...
GNSS模块教程:大夏龙雀 DX-GP21,从硬件接线到 NMEA 数据解析
在物联网、无人机、精准农业等场景中,高精度定位是核心需求。深圳大夏龙雀科技的 DX-GP21 作为一款多模多频 GNSS 模块,支持北斗、GPS、Galileo 等多系统联合定位,定位精度<1.0m,兼具低功耗、小尺寸特性,性…...
用Arduino Nano和MPU6050做个‘防抖云台’:PID调参实战,告别手抖视频
用Arduino Nano和MPU6050打造防抖云台:从硬件搭建到PID调参全指南 在短视频和Vlog盛行的时代,稳定的画面已经成为内容创作者的刚需。专业级稳定器动辄上千元的价格让许多入门玩家望而却步。其实,只需一块Arduino Nano开发板、一个MPU6050传感…...
Modbus三种类型详解:RTU、ASCII、TCP
Modbus协议主要分为三种类型:Modbus RTU、Modbus ASCII和Modbus TCP。这三种类型基于不同的物理层和编码方式,以适应不同的通信环境和需求。 下表清晰地对比了这三种主要类型的核心差异: 特性维度Modbus RTU (Remote Terminal Unit)Modbus …...
STM32按键状态机:从消抖到复杂事件处理的嵌入式编程范式
1. 项目概述:从“按键抖动”到“状态机思维”的跨越在嵌入式开发,尤其是基于STM32这类MCU的项目中,按键处理是几乎每个项目都绕不开的基础功能。很多新手朋友在拿到开发板,点亮第一个LED后,下一步往往就是尝试用按键来…...
