GithubHelp home page GithubHelp logo

Comments (3)

davidbrazilparker avatar davidbrazilparker commented on July 23, 2024

I see you're sending the case_ids as an array of Strings. It might be necessary that you wrap your suite_id with double quotes so that it is sent as a String in the request.

from testrail-api.

jonrgurock avatar jonrgurock commented on July 23, 2024

As @davidbrazilparker mentioned, this is likely an issue with the formatting of your request itself. Any IDs submitted in an API request should be treated as integers, so improper formatting could lead to failures parsing the request and the 400 error you received.

Your "case_ids" array should be an array of integers, as shown in the example documentation here.

Regards,
Jon

from testrail-api.

syedghayyour avatar syedghayyour commented on July 23, 2024

Hi I am having the same problem here, however I am working with Java and I am also passing thge Suite ID: Here is my code:

int PROJECT_ID = 1;
Long SUITE_ID = (long) 1286;
APIClient client = null;


@BeforeSuite
public void createSuite(ITestContext ctx) throws IOException, APIException {
	client = new APIClient("https://testrail.net");
	client.setUser("[email protected] );
	client.setPassword("########");
	Map data = new HashMap();
	data.put("include_all",true);
	data.put("name","Test Run "+System.currentTimeMillis());
	JSONObject c = null;
	
	c = (JSONObject)client.sendPost("add_run/"+PROJECT_ID,data);
	long suite_id = SUITE_ID; 
	ctx.setAttribute("suiteID" ,suite_id);


}

@BeforeMethod
public void beforeTest(ITestContext ctx,Method method) throws NoSuchMethodException {
	Method m = TestNGProject.class.getMethod(method.getName());

	if (m.isAnnotationPresent(TestRail.class)) {
		TestRail ta = m.getAnnotation(TestRail.class);
		System.out.println(ta.id());
		ctx.setAttribute("caseId",ta.id());
	}
}

@AfterMethod
public void afterTest(ITestResult result, ITestContext ctx) throws IOException, APIException {
	Map data = new HashMap();
	if(result.isSuccess()) {
		data.put("status_id",1);
	}
	else {
		data.put("status_id", 5);
		data.put("comment", result.getThrowable().toString());
	}

	String caseId = (String)ctx.getAttribute("caseId");
	Long suiteId = (Long)ctx.getAttribute("suiteId");
	client.sendPost("add_result_for_case/"+suiteId+"/"+caseId,data);

}

Error Message:

RemoteTestNG] detected TestNG version 7.4.0
FAILED CONFIGURATION: @BeforeSuite createSuite(org.testng.TestRunner@1f2586d6)
com.uitesting.testRail.APIException: TestRail API returned HTTP 400("Field :suite_id is a required field.")

from testrail-api.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.