问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

selenium自动化测试实战不打开浏览器如何进行web自动化测试

发布网友 发布时间:2023-04-29 07:31

我来回答

1个回答

热心网友 时间:2023-11-02 10:00

在一般的使用场景下,使用selenium进行web自动化测试都需要打开一个浏览器的实体,测试脚本通过控制webdriver来对浏览器进行操作。但是在一些场景下测试工程师需要在不打开浏览器的情况下进行自动化测试,也就是以headless的方式运行自动化测试。



业界有一些headless的第三方库可以使用,例如大名鼎鼎的PhantomJS。但是这些工具的安装很复杂,同时不一定保证持续的维护。

现在全球最受欢迎的浏览器Chrome在Chrome 59 (Chrome 60 for Windows)版本中已经支持了headless mode,只需要配置一些简单的参数就可以实现。

首先要确认自己机子上的Chrome版本。

require 'selenium-webdriver'

options = Selenium::WebDriver::Chrome::Options.new

options.add_argument('--headless')

options.add_argument('--disable-gpu')

options.add_argument('--remote-debugging-port=9222')

driver = Selenium::WebDriver.for :chrome, options: options

driver.get "https://www.jd.com"

driver.save_screenshot("#{File.dirname(__FILE__)}/#{Time.now.strftime("%F")}")

通过在Selenium::WebDriver::Chrome::Options类的对象中添加argumentoptions.add_argument('--headless'),可以让我们在Chrome在headless模式下运行。

而第二个argument的作用是针对现有bug的work around。第三个argument的作用则是允许我们可以在另外一个浏览器中debug。

为了观测运行的情况,我保存了一个屏幕截图。

相比于之前的headless web自动化方案,Chrome的优势在于设置的方便,甚至可以和当前的框架无缝切换,同时Chrome作为最为主流的浏览器,你也不用担心持续维护的问题。

热心网友 时间:2023-11-02 10:00

在一般的使用场景下,使用selenium进行web自动化测试都需要打开一个浏览器的实体,测试脚本通过控制webdriver来对浏览器进行操作。但是在一些场景下测试工程师需要在不打开浏览器的情况下进行自动化测试,也就是以headless的方式运行自动化测试。



业界有一些headless的第三方库可以使用,例如大名鼎鼎的PhantomJS。但是这些工具的安装很复杂,同时不一定保证持续的维护。

现在全球最受欢迎的浏览器Chrome在Chrome 59 (Chrome 60 for Windows)版本中已经支持了headless mode,只需要配置一些简单的参数就可以实现。

首先要确认自己机子上的Chrome版本。

require 'selenium-webdriver'

options = Selenium::WebDriver::Chrome::Options.new

options.add_argument('--headless')

options.add_argument('--disable-gpu')

options.add_argument('--remote-debugging-port=9222')

driver = Selenium::WebDriver.for :chrome, options: options

driver.get "https://www.jd.com"

driver.save_screenshot("#{File.dirname(__FILE__)}/#{Time.now.strftime("%F")}")

通过在Selenium::WebDriver::Chrome::Options类的对象中添加argumentoptions.add_argument('--headless'),可以让我们在Chrome在headless模式下运行。

而第二个argument的作用是针对现有bug的work around。第三个argument的作用则是允许我们可以在另外一个浏览器中debug。

为了观测运行的情况,我保存了一个屏幕截图。

相比于之前的headless web自动化方案,Chrome的优势在于设置的方便,甚至可以和当前的框架无缝切换,同时Chrome作为最为主流的浏览器,你也不用担心持续维护的问题。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
玉米仁子饭产自哪里 中国期货交易所的交易品种有哪些? 历史要怎么读,有啥诀窍 高中历史诀窍 年终会活动策划方案 深度解析:第一财经回放,探索财经新风向 逆水寒手游庄园怎么邀请好友同住 逆水寒手游 逆水寒不同区可以一起组队吗? 逆水寒手游 逆水寒怎么进入好友世界? 逆水寒手游 逆水寒怎么去别人的庄园? 好__的成语好__的成语是什么 手机取证平台没办法全选怎么回事 dc4300手机数据能iphone 本科和硕士都在国外读学历认证是分别认证还是最高学历后认证 电视剧且行且珍惜的插曲有一句歌词叫我们说好的幸福呢,这首歌名是什么? 且行且珍惜插曲李宗盛演唱的是什么歌 梦见领导交给我重要事情做的预兆 第一批股票摇号什么时候公布 手机触屏乱点? 《宋濂好学》的解释 所有解释和译文 宋濂嗜学的原文是什么? 天然气热水器怎么清洗 天然气热水器怎么清洗排污 建设银行贷款6万容易吗 电脑主机主要有哪些部件?都有哪些作用? 固定在计算机主机箱箱体上的、起到连接计算机各种部件的纽带和桥梁作用的是( )。 孕妇要住院急需核酸证明,卫健委霸气回复上热搜 英雄联盟drx战队成员世界赛 打完新冠加强针多久可以做核酸检测做核酸检测会引起扁桃体发炎吗 drx是哪个国家的队伍 DRX战队介绍 怀孕6个多月的孕妇被单位强制安排为核酸采样工作人员合理吗 利用python3selenium3chrome59030533做自动化测试时打开chrome报错 阴阳师友情点怎么增加 阴阳师手游友情点怎么获得 阴阳师友谊的见证是怎么提高的 电信主副卡两地互通免费吗? 手机微信视频能听到别人说话对方听不到我说话是怎么回事 防爆标识Exedpz II CT3 Ge是什么含义? 南阳市人保险服务大厅可以办理免检标志吗 人气怎么形容 人气的四字成语 混和或相互接触时不会发生反应的 四氯化碳和溴反应么? 微信公众号投票怎么整 为什么我的跟别人投票,每次都说频繁 看图写话哪个网课好 mate40Pro没用几次尾插口就掉漆了 民间借贷月利息2分受法律保护吗现在他欠钱不还法院起诉能赢吗 潮前是什么意思网络用语 四个太阳评课稿优缺点 用可牛影像制作可爱MM 虎年日历壁纸