Create an external test run from the test run creation page, then open it
In the three dots menu, there is a "Push results" entry. Select it
An information box will be displayed with information about how to push results in Cucumber JSON format (you have to select this format in the dropdown, as Junit XML is selected by default)
You'll have to configure your test suite to generate this Cucumber Json file, and then try pushing it with curl as instructed. Once done, you should see the execution results with each step result correctly set.
Is there some instructions to configure my c# and mstest solution to generate results in cucumber messages format? but as i know external test results are not linked with scenarios in cucumber studio and this is not a solution for me... 😕
After executing your tests, you'll have a result file that contains the test results and the uid. Pushing it back to CucumberStudio will update the results in the test run.
To be able to generate a cucumber json result file, you should use a gherkin based framework like SpecFlow. Is it an option in your case?
If exporting to C# directly, when a test fails, it's hard to know at which step it was failing because this information is not present most of the time: we only have the test name, and the steps are test implementation details. It looks like you are able to get this information though as you wanted to use the API to update tests at the step level. Can you describe how you have this information?
hiptest-publisher is not an option for us because we have many test scenarios and complex solution, so generated files from cucumber studio (like specflow files) are not acceptable. we are using Specflow and we can detect every step and its status on the way or in the end of execution, so it there are some tools to generate automatically some result file in cucumber json format it would be great.
To explain it briefly: along with the status, status-author and description attributes, you can also add a step-statuses attribute. It must be an array of string. Each string is a status. Possible values are ‘passed’, 'failed’, 'wip’, 'retest’, 'blocked’, 'skipped’, 'undefined’.