[英]How to run a curl (Using curl command in java) command from java?
[英]Using Java to run this CURL command in an automated test
我是 Java 的新手,我需要向 BrowserStack 发送一个 CURL 命令,说我的自动化测试失败了。 我必须运行以下 CURL 命令:
curl -u "XXX:YYY" -X PUT -H "Content-Type: application/json" -d "{\"status\":\"failed\", \"reason\":\"\"}" https://api.browserstack.com/automate/sessions/ZZZ.json
PS:XXX和YYY因工作而删减
唯一需要的是在这个命令中用一个变量替换 ZZZ,所以假设我到目前为止有这个:
void sendCurlCommand(){
String sessionId = "123ABC";
// code to send this curl command here
}
我在 StackOverflow 中尝试了几种解决方案,但我尝试的所有解决方案都运行并且完全没有错误,但 BrowserStack 端没有任何反应,所以我无法调试正在发生的事情。 如果我在我的 Linux 终端上运行这个确切的命令,它就像一个魅力。
我终于可以使用 CURL 使我的测试失败。 我对 Maven 使用以下依赖项:
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.3.6</version>
</dependency>
我使用了以下代码:
URI uri = new URI("https://XXX:YYY@api.browserstack.com/automate/sessions/"
+ sessionId + ".json");
HttpPut putRequest = new HttpPut(uri);
ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
nameValuePairs.add((new BasicNameValuePair("status", "failed")));
nameValuePairs.add((new BasicNameValuePair("reason", "")));
putRequest.setEntity(new UrlEncodedFormEntity(nameValuePairs));
HttpClientBuilder.create().build().execute(putRequest);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.