【Katalon学习四十六】Chrome Desired Capabilities

本文介绍如何在Katalon Studio中配置Chrome浏览器的启动参数,包括最大化窗口、禁用通知栏及以隐身模式启动等功能,适用于自动化测试场景。

这里列出了Chrome所需的功能。你可以在这个路径找到Chrome设置文件:**_\\settings\\internal\\com.kms.katalon.core.webui.chrome.properties._**

请参考下面一些常见的例子,关于如何在Katalon Studio中管理Chrome所需的功能:

1. 开始Chrome最大化默认: –start-maximized

{"CHROME_DRIVER":{"args":["--start-maximized"]}}

 

 2. 要禁用通知栏: –disable-infobars

{"CHROME_DRIVER":{"args":["--start-maximized","--disable-infobars"]}}

 

 3. 以隐身模式启动Chrome::–incognito

{"CHROME_DRIVER":{"args":["--start-maximized","--disable-infobars","--incognito"]}}

 

 

 

 

Caused by: org.openqa.selenium.SessionNotCreatedException: Could not start a new session. Response code 500. Message: session not created For trouble shooting, please visit: https://docs.katalon.com/katalon-studio/docs/troubleshooting.html ================================================ 08-13-2025 04:06:59 PM Test Cases/Get Report in CWS Elapsed time: 3.477s Test Cases/Get Report in CWS FAILED. Reason: com.kms.katalon.core.exception.StepFailedException: Unable to open browser with url: '' at com.kms.katalon.core.webui.keyword.internal.WebUIKeywordMain.stepFailed(WebUIKeywordMain.groovy:117) at com.kms.katalon.core.webui.keyword.internal.WebUIKeywordMain.runKeyword(WebUIKeywordMain.groovy:43) at com.kms.katalon.core.webui.keyword.builtin.OpenBrowserKeyword.openBrowser(OpenBrowserKeyword.groovy:47) at com.kms.katalon.core.webui.keyword.builtin.OpenBrowserKeyword.execute(OpenBrowserKeyword.groovy:33) at com.kms.katalon.core.keyword.internal.KeywordExecutor.executeKeywordForPlatform(KeywordExecutor.groovy:74) at com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords.openBrowser(WebUiBuiltInKeywords.groovy:62) at Get Report in CWS.run(Get Report in CWS:62) at com.kms.katalon.core.main.ScriptEngine.run(ScriptEngine.java:194) at com.kms.katalon.core.main.ScriptEngine.runScriptAsRawText(ScriptEngine.java:119) at com.kms.katalon.core.main.TestCaseExecutor.runScript(TestCaseExecutor.java:448) at com.kms.katalon.core.main.TestCaseExecutor.doExecute(TestCaseExecutor.java:439) at com.kms.katalon.core.main.TestCaseExecutor.processExecutionPhase(TestCaseExecutor.java:418) at com.kms.katalon.core.main.TestCaseExecutor.accessMainPhase(TestCaseExecutor.java:410) at com.kms.katalon.core.main.TestCaseExecutor.execute(TestCaseExecutor.java:285) at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:137) at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:125) at TempTestCase1755072413647.run(TempTestCase1755072413647.groovy:25) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) Caused by: org.openqa.selenium.SessionNotCreatedException: Could not start a new session. Response code 500. Message: session not created from unknown error: cannot find Chrome binary Host info: host: 'CNM62C3LR3', ip: '10.242.162.85' Build info: version: '4.22.0', revision: 'c5f3146703' System info: os.name: 'Windows 11', os.arch: 'amd64', os.version: '10.0', java.version: '17.0.14' Driver info: com.kms.katalon.selenium.driver.CChromeDriver Command: [null, newSession {capabilities=[Capabilities {browserName: chrome, goog:chromeOptions: {args: [], extensions: []}, unhandledPromptBehavior: ignore, webSocketUrl: true}]}] at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:114) at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:75) at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:61) at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:162) at org.openqa.selenium.remote.service.DriverCommandExecutor.invokeExecute(DriverCommandExecutor.java:216) at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:174) at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:518) at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:232) at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:161) at org.openqa.selenium.chromium.ChromiumDriver.<init>(ChromiumDriver.java:114) at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:88) at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:83) at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:72) at com.kms.katalon.selenium.driver.CChromeDriver.<init>(CChromeDriver.java:13) at com.kms.katalon.core.webui.driver.chrome.ChromeDriverBuilder.createDriver(ChromeDriverBuilder.java:41) at com.kms.katalon.core.webui.driver.AbstractDriverBuilder.build(AbstractDriverBuilder.java:39) at com.kms.katalon.core.webui.driver.DriverFactory.startNewBrowser(DriverFactory.java:251) at com.kms.katalon.core.webui.driver.DriverFactory.openWebDriver(DriverFactory.java:161) at com.kms.katalon.core.webui.keyword.builtin.OpenBrowserKeyword$_openBrowser_closure1.doCall(OpenBrowserKeyword.groovy:40) at com.kms.katalon.core.webui.keyword.builtin.OpenBrowserKeyword$_openBrowser_closure1.call(OpenBrowserKeyword.groovy) at com.kms.katalon.core.webui.keyword.internal.WebUIKeywordMain.runKeyword(WebUIKeywordMain.groovy:35) ... 18 more
08-14
### 配置和使用 Desired Capabilities 在 Selenium 测试环境中,`DesiredCapabilities` 类用于指定浏览器或设备的具体属性和行为。这些能力决定了测试脚本将在哪种环境下执行以及如何与目标环境交互。 #### 创建 Desired Capabilities 对象 为了创建 `DesiredCapabilities` 实例并为其设定特定选项,在 Python 中可以这样做: ```python from selenium import webdriver from selenium.webdriver.common.desired_capabilities import DesiredCapabilities capabilities = DesiredCapabilities.CHROME.copy() # 复制默认Chrome配置作为起点[^3] ``` 此操作会复制一组预设好的 Chrome 浏览器的期望功能集合作为基础版本,之后可以根据需求调整其中的内容。 #### 设置具体的功能项 接下来可以通过字典的方式向 `capabilities` 添加键值对来定制化设置。例如要启用日志记录功能可如下编写代码片段: ```python capabilities['goog:loggingPrefs'] = {'browser': 'ALL'} # 开启浏览器控制台的日志收集[^2] ``` 这里指定了希望获取所有的浏览器级别的日志信息(`'ALL'`)。注意前缀 `'goog:'` 是因为这是针对 Chromium 内核特有的参数名称格式。 对于移动应用自动化测试工具 Appium 来说,则有更多专门面向移动端的应用场景下的 capability 可供选择,比如 `platformName`, `deviceName`, 或者 `appPackage``appActivity` 等等[^5]。 #### 应用至 WebDriver 实例 最后一步是将已构建完成的 `DesiredCapabilities` 结构传递给 WebDriver 构造函数以初始化一个新的远程驱动实例: ```python driver = webdriver.Remote( command_executor='http://localhost:4444/wd/hub', # 远程Hub地址 desired_capabilities=capabilities # 自定义的能力集合 ) ``` 上述命令将会尝试连接位于本地运行的一个 Selenium Grid Hub 节点,并按照所提供的 capabilities 寻找匹配的目标节点去启动相应的浏览器进程来进行后续的操作流程[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值