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

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


目录

背景介绍

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

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

优势特点

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

操作步骤

  1. 找到本地安装浏览器的路径,并设置为环境变量。以chrome浏览器为例。

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

java 复制代码
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代码连接已打开的浏览器进行操作,

java 复制代码
            //指定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浏览器,可以提高测试执行的效率和速度,同时也能保留浏览器中已登录的状态或其他必要操作,使得测试执行更加方便和可靠。这种功能对于需要多次执行测试用例或测试场景时尤为重要,能够节省大量时间和精力。

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

相关推荐
John_ToDebug1 小时前
浏览器内核的“智变”:从渲染引擎到AI原生操作系统的征途
人工智能·chrome
霍格沃兹测试开发学社-小明3 小时前
测试左移2.0:在开发周期前端筑起质量防线
前端·javascript·网络·人工智能·测试工具·easyui
2401_861277554 小时前
开源移动端测试工具Appium使用方法与举例说明
测试工具
2401_861277554 小时前
Web测试工具Selenium使用方法与举例说明
测试工具
桃子叔叔1 天前
爬虫实战|Scrapy+Selenium 批量爬取汽车之家海量车型外观图(附完整源码)一
爬虫·selenium·scrapy
AI绘画小331 天前
Web 安全核心真相:别太相信任何人!40 个漏洞挖掘实战清单,直接套用!
前端·数据库·测试工具·安全·web安全·网络安全·黑客
Ghost Face...1 天前
Linux音频控制神器:amixer完全指南
linux·chrome·音视频
测试界的海飞丝2 天前
10道软件测试面试题及其答案:
服务器·测试工具·职场和发展
REDcker2 天前
tcpdump 网络数据包分析工具完整教程
网络·测试工具·tcpdump
程序员念姐2 天前
软件测试系统流程和常见面试题
测试工具·面试