Forum Discussion
Specially the notes in the script can you clarify the steps to do it?
// Note: this functionality depends on 3rd party .NET libraries that needed to be compiled by you. We downloaded the testrail .NET api bindings
// from the testrail website, along with the Json.NET library. Using visual Studio 2010, we built the Gurock.TestRail library, referencing the Newtonsoft.Json
// library. We built x86 and x64 versions using .NET 3.5. In this project, the libraries are stored in a folder next to the project, and have
// already been linked to the project via the CLR bridge.
Thank you
It's not a RESTful API. So you need to use the code they provide for binding to various languages and integrate it into TC using the CLR Bridge functionality. Which allows you to use external libraries.
The previous poster used the .NET bindings.
So start reading here: https://support.smartbear.com/testcomplete/docs/testing-with/advanced/using-external-functions/calling-from-dotnet-assemblies.html
Which is what you'll need to use: http://docs.gurock.com/testrail-api2/bindings-dotnet
Now, I do notice that TestRail refer to that as V2 of their API. I have no idea if the above script was written using these bindings, or ones from an older version.
But above all, you need to understand how to use external libraries. Once you understand that, then you can start worrying about how you create and use one for TestRail. (And you need someone who knows their way around Visual Studio and .NET to make all this work.)
- leandropoblet8 years agoFrequent Contributor
Hi Colin,
Thank you for your reply. Yes I downloaded the API binding and the Json.NET dependency.
I managed to build the project including that dependency. Now I guess the only part missing would be making TestComplete use it.
I'll investigate the link and hopefully will work in the end.
Thanks again!- BenAtStrata6 years agoNew Contributor
Hello , I am trying to implement the TestRail API in TestComplete as well.
Can you share how you compiled the TestRail dotnet project with JSON?
- leandropoblet8 years agoFrequent Contributor
Apparently there's an error when parsing the request.
So what I did is compiling the testrail integration with donNET Gurock.TestRail including Json90 library.
Then added the resulting dlls to the CLR Bridge using 64-bits architecture/appartment model = 'Does not matter' (as it seems to be the right thing to do although I'm not sure)
Then calling the function where parameters are correct and meaning (testRun, testCaseNumber):
function testUpdateTestRail() {
testrail.retestCase(13, 3486);
}The error is what you see in the image.... Any clues/suggestions?
I guess the real question would be if CLR has been added correctly, which I assume yes as I can see the dotNET routines when typing and why isn't parsing Json correctly and how to debug it.
Thank you
- Colin_McCrae8 years agoCommunity Hero
CLR Bridge (which I've only used once) seems to be working fine. The error is coming from the TestRail method.
Looks like it simply doesn't like one of the characters in your file path. (Hence the "unexpected character" error. The actual TestRail API isn't one I'm familiar with ...) Without knowing which API endpoint you're hitting, and the JSON you're sending it, can't be certain what it doesn't like. But it looks like a file path? And you have back, rather than forward slashes in there? In which case, you may need to double them up as per: http://stackoverflow.com/questions/24828873/sending-a-filepath-in-json-string-to-php-codeigniter
Or switch it to using forward slashes.
Have you tried putting the JSON into something like: http://jsonlint.com/
... to check it's valid?
- leandropoblet8 years agoFrequent ContributorHi Colin,
Thanks again for taking time to reply.
There's no paths involved here. If you look the function I'm calling:
function testUpdateTestRail() {
testrail.retestCase(13, 3486);
}
has only two parameters on it. Test run and Test case number both hardcoded integers just for testing the connection between TestComplete and TestRail.
If you follow the scripts posted by schef you'll see there's no file paths either.
On the other hand... how do I get to see the Json being sent.... no idea and it'd be great to know even for future debugging.
Cheers,
Leandro
Related Content
- 9 years ago
Recent Discussions
- 2 days ago