Использование Java для запуска этой команды CURL в автоматическом тесте - PullRequest
1 голос
/ 20 сентября 2019

Я новичок в Java, и мне нужно отправить команду CURL в BrowserStack, сообщив, что мой автоматический тест не пройден.У меня есть следующая команда 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, она работает как шарм.

1 Ответ

0 голосов
/ 23 сентября 2019

Я, наконец, могу провалить тестирование с использованием 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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...