繁体   English   中英

使用 Java 在自动化测试中运行此 CURL 命令

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM