Как назначить тестовую точку тестировщику в Azure DevOps с помощью APIJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как назначить тестовую точку тестировщику в Azure DevOps с помощью API

Сообщение Anonymous »

Согласно Points — Update из собственной документации Microsoft, в API версии 7.1 мы можем назначать тестировщиков для тестовых точек, обновляя тестовые точки, например:

PATCH
https://dev.azure.com/{organization}/{p ... ersion=7.1

с примером тела запроса:

{ "tester": {
"displayName": "Джамал Хартнетт" }

Однако, когда я делаю это для выбранной контрольной точки с использованием параметра uniqueName, я получаю следующую ошибку (обратите внимание на полезное сообщение, которое я получаю):
{
"$id": "1",
"innerException": null,
"message": "Tester",
"typeName": "System.ArgumentException, mscorlib",
"typeKey": "ArgumentException",
"errorCode": 0,
"eventId": 0
}

Итак, мой вопрос:
как я могу назначить тестер тестовой точке в Azure DevOps через вызов API? В документации также отмечается, что uniqueName устарело, и вместо этого предлагается использовать Domain+PrincipalName. А как что - как uniqueName? В качестве еще одного ключа/параметра? Что такое Имя Принципала? В каком формате должно быть новое значение?
Я знаю, что авторизация, заголовки и параметры установлены правильно, поскольку я повторно использую одни и те же базовые методы для извлечения наборов тестов из плана тестирования, а затем тестовые случаи, затем создайте тестовые точки, назначив им конфигурации. Единственный шаг, который не удался, — это назначение тестера. Я использую RestAssured с Java и создаю свои JSON как POJO.
Мой код — обратите внимание, что в RA параметры запроса добавляются с помощью методов queryParam и queryParams вместо добавив их в конец пути с помощью ? (также извините за странные значения, пришлось анонимизировать данные):
PATCH Request Base URI: https://dev.azure.com
PATCH Request Base PATH: /organizationName/projectName/_apis/test/Plans/111111/Suites/222222/points/333333

Мой Json:
{"tester":{"uniqueName":"email.thatisunique@companydomain.com"}} // I use company emails, value that populates this field for other TCs

Заголовки:
Connection=keep-alive
Accept-Encoding=gzip,deflate
Accept=text/xml;charset=UTF-8
Accept=application/json
X-XSS-Protection=1; mode=block

Параметры:
{api-version=7.1}

Код запроса:
protected Response sendPatchRequest(Object serializedPojo, int expectedStatusCode) {
// setup
RestAssured.baseURI = baseURI;
RestAssured.basePath = basePath;

// logs
String payloadAsString = objectMapper.writeValueAsString(serializedPojo);
LogsHelper.log("PATCH Request payload: " + System.lineSeparator() + payloadAsString + "--------------------------------------");
LogsHelper.log("PATCH Request Base URI: " + baseURI);
LogsHelper.log("PATCH Request Base PATH: " + basePath);
LogsHelper.log("PATCH Request Headers list: " + getHeaders().toString());

// request
ExtractableResponse extract = RestAssured
.given()
.queryParams(params)
.relaxedHTTPSValidation()
.headers(headers)
.body(serializedPojo)
.contentType("application/json")
.when()
.patch()
.then()
.extract();
try {
assertEquals("Status code not equal " + expectedStatusCode, expectedStatusCode, extract.response().getStatusCode());
} catch (AssertionError e) {
LogsHelper.log("PATCH Request response: " + System.lineSeparator() + extract.response().prettyPrint());
}
return extract.response();
}


Подробнее здесь: https://stackoverflow.com/questions/792 ... s-with-api
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»