You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Katalon中以编程方式指定代理?

我来给你梳理两种可行的方案,帮你搞定用不同代理重复跑测试的需求:

方案一:在Katalon中通过Groovy代码动态设置代理

其实Katalon的核心API里是支持通过代码修改代理配置的,只是官方文档没特意突出这点。你可以用RunConfiguration类来动态调整代理参数,每次测试前切换到目标代理即可。

举个具体的代码示例,你可以把这段逻辑放在测试用例的Before Test Case钩子或者测试脚本开头:

import com.kms.katalon.core.configuration.RunConfiguration

// 定义当前要使用的代理信息
def proxyHost = "192.168.1.100"
def proxyPort = 8080
def proxyUser = "your_username" // 如果代理不需要认证可以留空
def proxyPass = "your_password"

// 设置HTTP代理
RunConfiguration.setProxyServerAddress(proxyHost)
RunConfiguration.setProxyServerPort(proxyPort)
RunConfiguration.setProxyType("MANUAL_CONFIG")

// 如果代理需要认证,开启认证并设置账号密码
if (proxyUser && proxyPass) {
    RunConfiguration.setProxyAuthenticationEnabled(true)
    RunConfiguration.setProxyUsername(proxyUser)
    RunConfiguration.setProxyPassword(proxyPass)
} else {
    RunConfiguration.setProxyAuthenticationEnabled(false)
}

// 可选:设置HTTPS代理(如果和HTTP代理一致,这步可以省略)
RunConfiguration.setProxyServerAddressForHTTPS(proxyHost)
RunConfiguration.setProxyServerPortForHTTPS(proxyPort)

执行这段代码后,后续的测试请求就会通过指定的代理发送了。如果是遍历代理列表,你可以把代理信息存在一个数组里,循环调用这段逻辑+执行测试用例即可。

方案二:通过命令行启动Katalon时指定代理

Katalon确实支持通过命令行参数指定代理,只是这部分参数在官方文档里比较隐蔽。你可以在启动Katalon执行测试时,加上代理相关的参数,这样就能针对每个代理单独启动一个Katalon实例。

常用的代理命令行参数包括:

  • -proxy.server.type: 代理类型,可选MANUAL_CONFIG或AUTODETECT
  • -proxy.server.address: 代理服务器地址
  • -proxy.server.port: 代理端口
  • -proxy.auth.enabled: 是否开启代理认证(true/false)
  • -proxy.auth.username: 代理认证用户名
  • -proxy.auth.password: 代理认证密码

举个Windows命令行的例子:

katalon.exe -noSplash -runMode=console -projectPath="C:\Your\Project\Path\TestProject.prj" -testSuitePath="Test Suites/YourTestSuite" -proxy.server.type=MANUAL_CONFIG -proxy.server.address=192.168.1.100 -proxy.server.port=8080 -proxy.auth.enabled=true -proxy.auth.username=testuser -proxy.auth.password=testpass

Linux/macOS的话类似:

./katalon -noSplash -runMode=console -projectPath="/your/project/path/TestProject.prj" -testSuitePath="Test Suites/YourTestSuite" -proxy.server.type=MANUAL_CONFIG -proxy.server.address=192.168.1.100 -proxy.server.port=8080 -proxy.auth.enabled=true -proxy.auth.username=testuser -proxy.auth.password=testpass

你可以写个简单的脚本(比如Batch脚本、Shell脚本或者Python脚本),遍历你的代理列表,逐个生成并执行上面的命令,就能实现批量用不同代理跑测试的需求了。

额外注意事项

  • 如果用代码动态设置代理,测试结束后建议恢复默认代理配置,避免影响后续测试
  • 命令行方式每个代理会启动一个独立的Katalon进程,注意控制并发数,避免资源占用过高
  • 有些代理可能需要设置例外地址(比如本地服务),可以用RunConfiguration.setProxyExceptions()(代码方式)或者-proxy.server.exceptions(命令行参数)来配置

内容的提问来源于stack exchange,提问作者Vobuhin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 07:12:45