提问人:user3498245 提问时间:2/4/2019 更新时间:11/21/2022 访问量:730
使用空手道框架执行 API 测试时观察到 DNS 错误 [重复]
DNS error observed while performing API testing using karate framework [duplicate]
问:
在通过 karat 对 api 执行 get 调用时,当 im 使用的代理被注释时观察到 DNS 错误,但如果我使用代理,它会返回 401 错误。
下面是以下代码:
功能文件代码 :
Background:
*url baseUrl
*def someData = { user:'"myemailid"','ContentType':'application/json',"Accept": "*/*"}
*headers someData
Scenario: SomeScenario
Given path '/clients'
When method GET
Then status 200
Karate Config :
function()
{
karate.configure('proxy','ip address')
var config = {
baseUrl:'some url'
}
return config;
}
请求发送到服务器: DEBUG com.intuit.karate - 请求:
1 > GET url
1 > Accept: */*
1 > Accept-Encoding: gzip,deflate
1 > Content-Type: application/json
1 > Host: scrbmapdk007182:8080
1 > Proxy-Connection: Keep-Alive
1 > User-Agent: Apache-HttpClient/4.5.5 (Java/1.8.0_141)
1 > user: "myemail"
响应是 502 以及 DNS 错误
不知道我哪里出了问题,因为它正在通过邮递员工作。请求发送与 postman 中的相同
答:
1赞
Peter Thomas
2/4/2019
#1
阅读文档:https://github.com/intuit/karate#configure
必须采用 URI 格式,包括端口号(如果适用):http:
https:
karate.configure('proxy','http://myhost:80');
编辑:对于其他登陆这里的人,除了图片中可能存在HTTP代理这一事实之外 - Karate行为与Postman略有不同的另一个地方是,Karate默认情况下不会自动发送Accept
标头。
评论
1赞
user3498245
2/5/2019
谢谢彼得。会检查一下
0赞
user3498245
2/12/2019
嗨,彼得, 尝试在本地测试 api 时观察到以下情况 调试 com.intuit.karate - 1 < 301 1 < 连接:关闭 1 < 位置: 10.91.28.206 1 <服务器:BlueCoat-Security-Appliance
0赞
Peter Thomas
2/12/2019
@user3498245,如果不能够复制,就无法诊断: github.com/intuit/karate/wiki/How-to-Submit-an-Issue - 我建议在了解 Java 和调试的人的帮助下,如果需要的话,可以对空手道代码进行调试和修复 - 祝一切顺利!
0赞
user3498245
2/12/2019
谢谢彼得。会试着弄清楚
评论