Согласно 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
Как назначить тестовую точку тестировщику в Azure DevOps с помощью API ⇐ JAVA
Программисты JAVA общаются здесь
1734516476
Anonymous
Согласно Points — Update из собственной документации Microsoft, в API версии 7.1 мы можем назначать тестировщиков для тестовых точек, обновляя тестовые точки, например:
PATCH
https://dev.azure.com/{organization}/{project}/_apis/test/Plans/{planId}/Suites/{suiteId}/points/{pointIds}?api-version=7.1
с примером тела запроса:
{ "tester": {
"displayName": "Джамал Хартнетт" }
Однако, когда я делаю это для выбранной контрольной точки с использованием параметра [b]uniqueName, я получаю следующую ошибку (обратите внимание на полезное сообщение, которое я получаю):
{
"$id": "1",
"innerException": null,
"message": "Tester",
"typeName": "System.ArgumentException, mscorlib",
"typeKey": "ArgumentException",
"errorCode": 0,
"eventId": 0
}
Итак, мой вопрос:[/b] как я могу назначить тестер тестовой точке в Azure DevOps через вызов API? В документации также отмечается, что uniqueName устарело, и вместо этого предлагается использовать Domain+PrincipalName. А как что - как uniqueName? В качестве еще одного ключа/параметра? Что такое Имя Принципала? В каком формате должно быть новое значение?
Я знаю, что авторизация, заголовки и параметры установлены правильно, поскольку я повторно использую одни и те же базовые методы для извлечения наборов тестов из плана тестирования, а затем тестовые случаи, затем создайте тестовые точки, назначив им конфигурации. Единственный шаг, который не удался, — это назначение тестера. Я использую RestAssured с Java и создаю свои JSON как POJO.
Мой код — [b]обратите внимание[/b], что в 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();
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79270927/how-to-assign-test-point-to-a-tester-in-azure-devops-with-api[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия