Selenium IED-控制已打开的Chrome浏览器

2024-06-19 02:04

本文主要是介绍Selenium IED-控制已打开的Chrome浏览器,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本文已收录于专栏
《自动化测试》

目录

  • 背景介绍
  • 优势特点
  • 操作步骤
  • 总结提升

背景介绍

  在我们进行自动化测试的过程中有时候会遇见一个很棘手的问题那就是登录的过程中需要图片验证码,图片验证码设计的初衷其实就是为了防自动化,防止一些人利用自动工具恶意攻击网站,而很不幸的是,我们所使用的一些自动化测试工具也包含在内。针对这个问题我们就可以使用浏览器复用的方式进行自动化的测试。我们可以让Selenium直接用带有缓存的浏览器,就像我们使用本机浏览器一样,去访问系统。常规系统,比如淘宝、携程,只要完成一次登陆验证,后续登陆是不会再有验证码的。通过Debug模式启动谷歌浏览器,就能达到这个效果。并且Debug模式的浏览器,还可以在自动化过程中实现复用浏览器来提高调试效率:

  1. 当运行 selenium 自动化时,要求已经登录才能才做。这个时候我们可以提前登录,运行脚本的时候复用已经打开的浏览器。
  2. 当调试了某个步骤很多的测试用例,前面N-1步已经成功,只需调试第N步。如果从头开始运行脚本,耗时过多,这时我们可以直接复用浏览器只操作第N步。

优势特点

  跳过原本需要自动输入账号密码以及图片验证码,把这一部分交给用户来手动操作,基于用户登录完毕之后的浏览器进行操作。这样当webdriver启动时将不再创建新的浏览器窗口 将运用已打开的浏览器的当前页面,对元素的进行操作 。

操作步骤

  1. 找到本地安装浏览器的路径,并设置为环境变量。以chrome浏览器为例。
    在这里插入图片描述
    在这里插入图片描述

  2. 在命令提示符中输入命令开始浏览器的远程控制模式,端口号可以随意指定一个空闲即可,后面的路径用来存储用户在浏览器上的信息。

chrome.exe --remote-debugging-port=9222 --user-data-dir="D:\auction\driver\userData"

在这里插入图片描述

  1. chrome浏览器驱动下载地址:
      114之前的版本:https://chromedriver.chromium.org/downloads
      125之后的版本:https://googlechromelabs.github.io/chrome-for-testing/#canary,只有后面status是绿色对勾的才可以下载,驱动大版本一致就可以使用,不需版本号一模一样;下载所需版本只需点击对应的版本名称即可跳转到对应版本的下载位置。
    在这里插入图片描述

  2. Java代码连接已打开的浏览器进行操作,

            //指定chrome浏览器驱动的位置,由于edge驱动对象没有setExperimentalOption方法无法复用浏览器所以选择chrome驱动及其浏览器System.setProperty("webdriver.chrome.driver", "D:\\auction\\driver\\chromedriver.exe");ChromeOptions option = new ChromeOptions();option.setExperimentalOption("debuggerAddress", "127.0.0.1:9222");ChromeDriver driver = new ChromeDriver(option);driver.findElement(By.cssSelector(".vertical_center:nth-child(1) .el-input__inner")).click();driver.findElement(By.cssSelector(".vertical_center:nth-child(1) .el-input__inner")).clear();driver.findElement(By.cssSelector(".vertical_center:nth-child(1) .el-input__inner")).sendKeys(String.valueOf(finalPrice));

总结提升

  当在Selenium IDE中使用Chrome浏览器时,可以利用Chrome浏览器的WebDriver来实现浏览器的自动化控制。在Selenium IDE中选择Chrome作为浏览器驱动器后,可以直接复用已经打开的Chrome浏览器实例,而不是每次执行测试时都重新打开一个新的浏览器。通过复用Chrome浏览器,可以提高测试执行的效率和速度,同时也能保留浏览器中已登录的状态或其他必要操作,使得测试执行更加方便和可靠。这种功能对于需要多次执行测试用例或测试场景时尤为重要,能够节省大量时间和精力。


🎯 此文章对你有用的话记得留言+点赞+收藏哦🎯

这篇关于Selenium IED-控制已打开的Chrome浏览器的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1073695

相关文章

Spring Security 基于表达式的权限控制

前言 spring security 3.0已经可以使用spring el表达式来控制授权,允许在表达式中使用复杂的布尔逻辑来控制访问的权限。 常见的表达式 Spring Security可用表达式对象的基类是SecurityExpressionRoot。 表达式描述hasRole([role])用户拥有制定的角色时返回true (Spring security默认会带有ROLE_前缀),去

zeroclipboard 粘贴板的应用示例, 兼容 Chrome、IE等多浏览器

zeroclipboard单个复制按钮和多个复制按钮的实现方法 最近网站改版想让复制代码功能在多个浏览器上都可以实现,最近看网上不少说我们的代码复制功能不好用的,我们最近将会增加代码高亮等功能,希望大家多多支持我们 zeroclipboard是一个跨浏览器的库类 它利用 Flash 进行复制,所以只要浏览器装有 Flash 就可以运行,而且比 IE 的

ORACLE 11g 创建数据库时 Enterprise Manager配置失败的解决办法 无法打开OEM的解决办法

在win7 64位系统下安装oracle11g,在使用Database configuration Assistant创建数据库时,在创建到85%的时候报错,错误如下: 解决办法: 在listener.ora中增加对BlueAeri-PC或ip地址的侦听,具体步骤如下: 1.启动Net Manager,在“监听程序”--Listener下添加一个地址,主机名写计

控制反转 的种类

之前对控制反转的定义和解释都不是很清晰。最近翻书发现在《Pro Spring 5》(免费电子版在文章最后)有一段非常不错的解释。记录一下,有道翻译贴出来方便查看。如有请直接跳过中文,看后面的原文。 控制反转的类型 控制反转的类型您可能想知道为什么有两种类型的IoC,以及为什么这些类型被进一步划分为不同的实现。这个问题似乎没有明确的答案;当然,不同的类型提供了一定程度的灵活性,但

深入解析秒杀业务中的核心问题 —— 从并发控制到事务管理

深入解析秒杀业务中的核心问题 —— 从并发控制到事务管理 秒杀系统是应对高并发、高压力下的典型业务场景,涉及到并发控制、库存管理、事务管理等多个关键技术点。本文将深入剖析秒杀商品业务中常见的几个核心问题,包括 AOP 事务管理、同步锁机制、乐观锁、CAS 操作,以及用户限购策略。通过这些技术的结合,确保秒杀系统在高并发场景下的稳定性和一致性。 1. AOP 代理对象与事务管理 在秒杀商品

微软正式推出 Spartan 斯巴达浏览器

作为用于替代 IE 浏览器的下一代继任者,微软的 Project Spartan 斯巴达浏览器可算是吊足了玩家们的胃口!如今,在最新的 Windows 10 Build 10049 版本起,它终于正式登场了。 斯巴达浏览器搭载了全新的渲染引擎、新的用户界面并集成了 Cortana 语音助手。功能上新增了稍后阅读列表、阅读视图、F12开发者工具、支持网页注释 (手写涂鸦),可以保存到 O

PC与android平板通过浏览器监控Verybot的视频

下面这个视频是PC与android平板通过浏览器监控Verybot的视频:           http://v.youku.com/v_show/id_XNjYzNzYyMTIw.html

PostgreSQL中的多版本并发控制(MVCC)深入解析

引言 PostgreSQL作为一款强大的开源关系数据库管理系统,以其高性能、高可靠性和丰富的功能特性而广受欢迎。在并发控制方面,PostgreSQL采用了多版本并发控制(MVCC)机制,该机制为数据库提供了高效的数据访问和更新能力,同时保证了数据的一致性和隔离性。本文将深入解析PostgreSQL中的MVCC功能,探讨其工作原理、使用场景,并通过具体SQL示例来展示其在实际应用中的表现。 一、

vue2实践:el-table实现由用户自己控制行数的动态表格

需求 项目中需要提供一个动态表单,如图: 当我点击添加时,便添加一行;点击右边的删除时,便删除这一行。 至少要有一行数据,但是没有上限。 思路 这种每一行的数据固定,但是不定行数的,很容易想到使用el-table来实现,它可以循环读取:data所绑定的数组,来生成行数据,不同的是: 1、table里面的每一个cell,需要放置一个input来支持用户编辑。 2、最后一列放置两个b

【电机控制】数字滤波算法(持续更新)

文章目录 前言1. 数字低通滤波 前言 各种数字滤波原理,离散化公式及代码。 1. 数字低通滤波 滤波器公式 一阶低通滤波器的输出 y [ n ] y[n] y[n] 可以通过以下公式计算得到: y [ n ] = α x [ n ] + ( 1 − α ) y [ n − 1 ] y[n] = \alpha x[n] + (1 - \alpha) y[n-1]