#java #testing #automated-tests #testng #testng.xml
#java #тестирование #автоматизированные-тесты #testng #testng.xml
Вопрос:
Я создал проект в соответствии с приведенной выше структурой пакета, и я столкнулся с проблемой при запуске теста с помощью testng.xml файл, который я создал вручную.
Все тестовые классы находятся в своих собственных пакетах в пакете API, а пакет API состоит из каждого модуля приложения в виде пакетов, где тестовые классы определены в соответствующих пакетах модулей.
На прилагаемом скриншоте я имею в виду только один пакет, который будет запущен из testng.xml файл, и при запуске файла он отображается как «Тесты не найдены».
ниже приведен фрагмент кода ApprovalGroupManagementApi.class где методы тестирования указаны в аннотациях propper TestNG.
package com.api.approval_group_management;
import com.base.Base;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.github.javafaker.Faker;
import com.payloads.request.classes.CreatedUserList;
import com.payloads.request.classes.StatusList;
import com.payloads.request.payload.SecCreateApprovalLevel;
import io.restassured.RestAssured;
import io.restassured.http.ContentType;
import io.restassured.response.Response;
import org.testng.annotations.Test;
import org.testng.asserts.Assertion;
import org.testng.asserts.SoftAssert;
import java.util.ArrayList;
import java.util.List;
import static com.utils.Constant.SEC_CREATE_APPROVAL_LEVEL_URL;
import static io.restassured.RestAssured.given;
public class ApprovalGroupManagementApi extends Base {
SoftAssert softAssert = new SoftAssert();
Assertion hardAssert = new Assertion();
@Test(priority = 1, alwaysRun = true, enabled = true)
public void secCreateApprovalLevel() {
try {
ObjectMapper objectMapper = new ObjectMapper();
SecCreateApprovalLevel secCreateApprovalLevel = new SecCreateApprovalLevel();
StatusList statusList = new StatusList();
CreatedUserList createdUserList = new CreatedUserList();
List<Object> objects = new ArrayList<>();
secCreateApprovalLevel.setName("" new Faker().name().firstName());
secCreateApprovalLevel.setApprovalLevelAvailable(true);
secCreateApprovalLevel.setStatusList(statusList);
secCreateApprovalLevel.setCreatedUserList(createdUserList);
secCreateApprovalLevel.setPrivilageList(objects);
String approvalGroup = objectMapper.writeValueAsString(secCreateApprovalLevel);
RestAssured.useRelaxedHTTPSValidation();
Response response = given().spec(resourceApiRequestSpecification).log().all()
.contentType(ContentType.JSON)
.when()
.body(approvalGroup)
.post(SEC_CREATE_APPROVAL_LEVEL_URL);
//response code assertion
hardAssert.assertEquals(response.getStatusCode(), 200);
softAssert.assertAll();
} catch (Exception e) {
System.out.println(e);
}
}
}
Ответ №1:
Измените имя пакета на name="com.api.approval_group_management"
in testng.xml
Ответ №2:
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="suite 1">
<test name="Regression 1">
<classes>
<class name="test.java.com.api.approval_group_management.ApprovalGroupManagementApi" />
</classes>
</test>
</suite>
Пожалуйста, попробуйте это, это может помочь вам выполнить класс testng.
(Помимо этого также убедитесь, что плагин testng уже установлен.)
Комментарии:
1. не могли бы вы предоставить стек ошибок, который вы получили? Это может помочь в начальной настройке. saucelabs.com/resources/articles /…