Generating urls for specific filter settings (REST API)
AnsweredIt would be great if we could generate links to SkyWATS pages with predefined filter set.
What I have in mind is: when testing a converter, I have a specific set of data I can use as filter to see the converted reports, their yield, test&step analysis and so on. I am developing a tool to help with converter testing. To asses the accuracy of conversion I need to get the results from server and compare it with what I expect based on the source reports.
It would help tremendously if instead of filling in the filter by hand I could just fill it in programmatically and get a link leading straight to my results.
It would be even better if I could get the results as a response, or at least automatically download them exported to an excel sheet, but even the filter alone would help.
-
One solution is to use the API to query the test results. Here is an example:
[TestMethod]
[TestCategory("Develop")]
public void LoadUUTReport()
{
TDM api = new TDM();
api.InitializeAPI(true);
WatsReportHeader[] h = api.FindReports("(PN eq 'FATPartNo') and (ReportType eq 'UUT')", 1);
Assert.AreEqual(1, h.Length);
UUTReport r = (UUTReport)api.LoadReport(h[0].Guid.ToString());
Assert.IsTrue(r.SerialNumber.StartsWith("FATTest"));
UUTPartInfo[] pInfo = r.PartInfo;
Assert.AreEqual(2, pInfo.Length);
Step[] allSteps = r.AllSteps;
Step[] failedSteps = r.FailedSteps;
Step[] specificSteps = r.FindSteps("SinglePass", "/pass/fail tests/");
SequenceCall[] allSequenceSteps = r.AllSteps.OfType<SequenceCall>().ToArray();
NumericLimitStep stepOfInterest = r.AllSteps.Where(s => s.Name == "SingleGELEFail").FirstOrDefault() as NumericLimitStep;
Assert.IsNotNull(stepOfInterest);
NumericLimitTest numericLimitTest = stepOfInterest.Tests[0];
Assert.AreEqual(500, numericLimitTest.NumericValue);
Assert.AreEqual(501, numericLimitTest.LowLimit);
Assert.AreEqual(502, numericLimitTest.HighLimit);
StringValueStep stringValueStepFromMultiple = r.AllSteps.Where(s => s.Name == "Multiple tests" && s.StepPath == "/stringvalue tests/").FirstOrDefault() as StringValueStep;
Assert.IsNotNull(stringValueStepFromMultiple);
StringValueTest stringValueTest = stringValueStepFromMultiple.Tests.Where(t => t.MeasureName == "MultiCasePass").FirstOrDefault();
Assert.IsNotNull(stringValueTest);
Assert.AreEqual("CaseSensitive", stringValueTest.StringValue);
Assert.AreEqual("CaseSensitive", stringValueTest.StringLimit);
Step graphStep = r.FindSteps("Fibionacci", null).First();
Chart chart = graphStep.Chart;
double[] xValues, yValues;
chart.Series[0].GetValues(out xValues, out yValues);
Assert.AreEqual(13, xValues.Length);
Attachment attachment = r.FindSteps("Attach file", null).First().Attachment;
Assert.AreEqual("winhlp32.exe", attachment.FileName);
Assert.IsTrue(attachment.Data.Length > 10);
}
-
Hi.
You may get the result you want in the rest API.
The app section have actions to list UUTs or get yield calculations by a filter.
You may also try to generate your own links with help of the "share filter" behavior. You will manually have to base64 encode your filter.
Ex.
The base64 encoded part looks like this:
{"serialNumber":"123456798","partNumber":"123","revision":"A","dateFrom":"2019-08-28T00:00:00"}
-
What I meant is that it would be awesome if we can fill up the filter parameters over the URL.
Because if I do a "Test step yield & analysis" and if I want to refer this results into a report then it would be great if I could add a link in this report which would lead to the results on Wats.
Now I need to write down all the required filter parameters into the report that others are able to reproduce these results in Wats.
One approach would be to make a specific filter but to make a filter for each reference it would end up in a mess.
Please sign in to leave a comment.
Comments
5 comments