Skyline.DataMiner.Utils.QAPortalAPI
1.0.1
Prefix Reserved
See the version list below for details.
dotnet add package Skyline.DataMiner.Utils.QAPortalAPI --version 1.0.1
NuGet\Install-Package Skyline.DataMiner.Utils.QAPortalAPI -Version 1.0.1
<PackageReference Include="Skyline.DataMiner.Utils.QAPortalAPI" Version="1.0.1" />
paket add Skyline.DataMiner.Utils.QAPortalAPI --version 1.0.1
#r "nuget: Skyline.DataMiner.Utils.QAPortalAPI, 1.0.1"
// Install Skyline.DataMiner.Utils.QAPortalAPI as a Cake Addin #addin nuget:?package=Skyline.DataMiner.Utils.QAPortalAPI&version=1.0.1 // Install Skyline.DataMiner.Utils.QAPortalAPI as a Cake Tool #tool nuget:?package=Skyline.DataMiner.Utils.QAPortalAPI&version=1.0.1
Skyline.DataMiner.Utils.QAPortalAPI
About
Skyline.DataMiner.Utils.QAPortalAPI
Skyline.DataMiner.Utils.QAPortalAPI was created to easily push test results in a standardized way to the QAPortal. This portal contains all test information and results.
About DataMiner
DataMiner is a transformational platform that provides vendor-independent control and monitoring of devices and services. Out of the box and by design, it addresses key challenges such as security, complexity, multi-cloud, and much more. It has a pronounced open architecture and powerful capabilities enabling users to evolve easily and continuously.
The foundation of DataMiner is its powerful and versatile data acquisition and control layer. With DataMiner, there are no restrictions to what data users can access. Data sources may reside on premises, in the cloud, or in a hybrid setup.
A unique catalog of 7000+ connectors already exist. In addition, you can leverage DataMiner Development Packages to build you own connectors (also known as "protocols" or "drivers").
Note See also: About DataMiner
About Skyline Communications
At Skyline Communications, we deal in world-class solutions that are deployed by leading companies around the globe. Check out our proven track record and see how we make our customers' lives easier by empowering them to take their operations to the next level.
Getting Started
Include the nuget package in your project, and deploy the Skyline.Dataminer.Utils.QAPortalAPI.dll on the Dataminer system (In the future the Dataminer deployment action will be automated).
Add the following using statements to your code
using QAPortalAPI.APIHelper;
using QAPortalAPI.Enums;
using QAPortalAPI.Models.ReportingModels;
The first thing that needs to happen in the script/test is to initialize the TestReport object. This object will contain all information about the test and the system, this will be sent to the portal.
The Dataminer version can be automatically retrieved via this structure
TestReport testReport = new TestReport(
new TestInfo("AUniqueTestName", "ASkylineDomain", new List<int> {99999}, "The description of a Test"),
new TestSystemInfo("[AgentNameOnThePortal]"));
Or if you manually want to specify the Dataminer version:
TestReport testReport = new TestReport(
new TestInfo("AUniqueTestName", "ASkylineDomain", new List<int> {99999}, "The description of a Test"),
new TestSystemInfo("10.3.1.0-12509", "[AgentNameOnThePortal]"));
- The TestInfo object contains all information about the test, this information will be used on the portal.
- The TestSystemInfo object contains information about the system where the test was executed on. This is used to link the results to the correct system and dataminer version.
Now the actual script/test can start running, each time a testcase is completed the result has to be added to the report object.
//Add a success testcase to the result
testReport.TryAddTestCase(new TestCaseReport("AUniqueTestCaseName", Result.Success, string.Empty), out _);
//Add a failure testcase to the result
testReport.TryAddTestCase(new TestCaseReport("AUniqueTestCaseName2", Result.Failure, "The Fail message"), out _);
Once all testcases are executed and saved in the report we have to send it to the QAPortal.
This can be done via 2 ways
- Directly to the API (internet access needed)
- By email (an action has to be provided that can send an email)
//The url or email to the portal provided when the system is added to the QAPortal.
string portalUrl = "publicPortalUrlOrEmail";
QAPortalAPIHelper reportHelperViaAPI = new QAPortalAPIHelper(engine.GenerateInformation, portalUrl, "SafelyStoredClientID", "SafelyStorredAPIKey");
reportHelperViaAPI.PostResult(testReport);
QAPortalAPIHelper reportHelperViaAPIAndProxy = new QAPortalAPIHelper(engine.GenerateInformation, portalUrl, "SafelyStoredClientID", "SafelyStorredAPIKey", "[AProxy]");
reportHelperViaAPI.PostResult(testReport);
QAPortalAPIHelper reportHelperViaEmail = new QAPortalAPIHelper(engine.GenerateInformation, portalUrl, "SafelyStoredClientID", "SafelyStorredAPIKey", engine.SendEmail);
reportHelperViaEmail.PostResult(testReport);
See also the full Dataminer script examples: via API or via Email
Warning When using the Skyline.DataMiner.Utils.QAPortalAPI on versions lower than 10.1.11 or 10.2.0.0, add the netstandard.dll reference to your script.
Note The portalUrl, ClientID and API key will be provided by the contact at Skyline Communications.
Performance Results
Via the API it is also possible to publish performance results to the portal. This can be done by adding the performance results to your test report
//Performance results
testReport.PerformanceTestCases.Add(new PerformanceTestCaseReport("APerfName1", Result.Success, "SomeInfo About the test case and the value", ResultUnit.Second, 99));
testReport.PerformanceTestCases.Add(new PerformanceTestCaseReport("AUniqueTestCaseName1", Result.Failure, "SomeInfo About the test case and the value", ResultUnit.Second, 9));
You can either have dedicated performance test cases or functional tests cases that also push a performance result.
Debugging and Diagnostic
No test-case results error
Issue: When posting to the portal you get an error message: No test-case results are present on the test report. Fix: The report always expects at least 1 testcase result (success or failure).
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 is compatible. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 is compatible. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETFramework 4.6.2
- System.ComponentModel.Annotations (>= 5.0.0)
- System.Net.Http (>= 4.3.4)
-
.NETFramework 4.8
- System.ComponentModel.Annotations (>= 5.0.0)
- System.Net.Http (>= 4.3.4)
-
.NETStandard 2.0
- System.ComponentModel.Annotations (>= 5.0.0)
- System.Net.Http (>= 4.3.4)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.