From 85fe3bacb15b5483880a3bb4a13beeaa5943df37 Mon Sep 17 00:00:00 2001 From: Huaxing YUAN <37816968+huaxing-yuan@users.noreply.github.com> Date: Tue, 7 Jan 2025 14:36:38 +0100 Subject: [PATCH 1/5] Resource usage tracing (#78) * [mobile] throw exception when session is not open * unit test * Accessibility: French verison of report * add support of some language for accessibility test. * update unit test for multi language. * retro PR because commited on main branch (#75) * [Mobile] force an exception if appium session is not opened (#74) * Accessibility: update to axe core 4.9 * Accessibility: French verison of report * add support of some language for accessibility test. * update unit test for multi language. * Optimise screenshot of accessibility test (from png to webp format) * Avoid divide by zero error when there is no pages scanned during a test. * update dependencies: - Appium 7.0 - Selenium 4.27 - Axe Core 4.10.1 - Add support to .NET 9.0 * Mesure ressources metrics * display downloaded resources * Update build-and-publish-PROnly.yml * show chart report on resource usage * improve reportviewer * Update the layout of ReportViewer to optimize the presentation of the information * update documentation for java api, accessibility and resource usage * fix some problems of documentation --------- Co-authored-by: Huaxing YUAN --- ...eExtended.HtmlReport.AxeOverallResult.html | 42 +- ....AxeExtended.HtmlReport.AxePageResult.html | 123 +- ...nded.HtmlReport.AxeResultEnhancedItem.html | 33 +- ...nded.HtmlReport.AxeResultEnhancedNode.html | 33 +- ...nce.AxeExtended.HtmlReport.BaseResult.html | 60 +- ...xeExtended.HtmlReport.Config.Branding.html | 24 +- ...e.AxeExtended.HtmlReport.Config.Check.html | 51 +- ...tmlReport.Config.ConfigurationOptions.html | 42 +- ....AxeExtended.HtmlReport.Config.Option.html | 6 - ...ce.AxeExtended.HtmlReport.Config.Rule.html | 96 +- ...rance.AxeExtended.HtmlReport.Language.html | 21 +- ...e.AxeExtended.HtmlReport.OutputFormat.html | 8 +- ...ended.HtmlReport.OverallReportBuilder.html | 93 +- ...Extended.HtmlReport.OverallResultItem.html | 51 +- ...ort.PageReportBuilder.AnalyzeDelegate.html | 6 - ...geReportBuilder.GetScreenshotDelegate.html | 6 - ...Extended.HtmlReport.PageReportBuilder.html | 153 +- ...Extended.HtmlReport.PageReportOptions.html | 139 +- ...ce.AxeExtended.HtmlReport.ScoringMode.html | 6 - ...e.AxeExtended.HtmlReport.TagsProvider.html | 201 ++ .../AxaFrance.AxeExtended.HtmlReport.html | 11 +- ...eExtended.Selenium.AxeExtendedBuilder.html | 177 +- ...e.AxeExtended.Selenium.SeleniumHelper.html | 24 +- .../AxaFrance.AxeExtended.Selenium.html | 6 +- ...nce.WebEngine.ActionNotFoundException.html | 24 +- .../AxaFrance.WebEngine.BrowserType.html | 6 - .../AxaFrance.WebEngine.DebugLogger.html | 42 +- .../AxaFrance.WebEngine.Encrypter.html | 15 +- ...France.WebEngine.EnvironmentVariables.html | 60 +- .../AxaFrance.WebEngine.MethodExtensions.html | 42 +- ...ngine.MobileApp.AppElementDescription.html | 186 +- ...France.WebEngine.MobileApp.AppFactory.html | 33 +- ...e.WebEngine.MobileApp.ScrollDirection.html | 6 - ...e.WebEngine.MobileApp.SharedActionApp.html | 96 +- ...rance.WebEngine.MobileApp.TestCaseApp.html | 24 +- ...ance.WebEngine.MobileApp.TestSuiteApp.html | 15 +- .../AxaFrance.WebEngine.MobileApp.html | 3 - .../api_net/AxaFrance.WebEngine.Platform.html | 6 - ...aFrance.WebEngine.Report.ActionReport.html | 105 +- ...rance.WebEngine.Report.AdditionalData.html | 24 +- ...ance.WebEngine.Report.JUnit.testsuite.html | 123 +- ...Engine.Report.JUnit.testsuiteProperty.html | 24 +- ...Engine.Report.JUnit.testsuiteTestcase.html | 42 +- ...e.Report.JUnit.testsuiteTestcaseError.html | 33 +- ...Report.JUnit.testsuiteTestcaseFailure.html | 33 +- ...Report.JUnit.testsuiteTestcaseSkipped.html | 24 +- ...nce.WebEngine.Report.JUnit.testsuites.html | 15 +- ...gine.Report.JUnit.testsuitesTestsuite.html | 24 +- ...aFrance.WebEngine.Report.ReportHelper.html | 33 +- ...nce.WebEngine.Report.ScreenshotReport.html | 33 +- ...rance.WebEngine.Report.TestCaseReport.html | 132 +- ...ance.WebEngine.Report.TestSuiteReport.html | 132 +- docs/api_net/AxaFrance.WebEngine.Report.html | 3 - .../AxaFrance.WebEngine.ReportSettings.html | 60 +- docs/api_net/AxaFrance.WebEngine.Result.html | 6 - .../api_net/AxaFrance.WebEngine.Settings.html | 240 +-- .../AxaFrance.WebEngine.SharedActionBase.html | 204 +- .../api_net/AxaFrance.WebEngine.TestCase.html | 141 +- .../api_net/AxaFrance.WebEngine.TestData.html | 51 +- .../api_net/AxaFrance.WebEngine.TestStep.html | 42 +- .../AxaFrance.WebEngine.TestSuite.html | 42 +- .../AxaFrance.WebEngine.TestSuiteData.html | 78 +- .../AxaFrance.WebEngine.Utilities.html | 96 +- .../api_net/AxaFrance.WebEngine.Variable.html | 69 +- ...xaFrance.WebEngine.Web.BrowserFactory.html | 35 +- ...ance.WebEngine.Web.ElementDescription.html | 330 +-- ...France.WebEngine.Web.FindsByAttribute.html | 42 +- docs/api_net/AxaFrance.WebEngine.Web.How.html | 6 - ...AxaFrance.WebEngine.Web.HtmlAttribute.html | 51 +- ...xaFrance.WebEngine.Web.NetworkRequest.html | 441 ++++ .../AxaFrance.WebEngine.Web.PageModel.html | 42 +- ...aFrance.WebEngine.Web.SharedActionWeb.html | 114 +- .../AxaFrance.WebEngine.Web.TestCaseWeb.html | 68 +- ...e.WebEngine.Web.WebElementDescription.html | 285 +-- docs/api_net/AxaFrance.WebEngine.Web.html | 6 +- ...e.WebEngine.WebEngineGeneralException.html | 33 +- docs/api_net/AxaFrance.WebEngine.html | 3 - docs/api_net/toc.html | 12 +- docs/articles/accessibility.html | 5 +- docs/articles/appsettings-java.html | 3 - docs/articles/appsettings.html | 3 - docs/articles/dev-status.html | 3 - docs/articles/env-impact.html | 152 ++ docs/articles/excel-addin-export.html | 3 - docs/articles/excel-addin-launch.html | 3 - docs/articles/excel-addin-settings.html | 3 - docs/articles/excel-addin-tools.html | 3 - docs/articles/excel-addin.html | 3 - docs/articles/excel-file-structure.html | 3 - docs/articles/excel-install.html | 3 - docs/articles/intro.html | 3 - docs/articles/known-issues.html | 3 - docs/articles/report-viewer.html | 3 - docs/articles/toc.html | 3 + docs/articles/webengine-app.html | 5 +- docs/articles/webengine-web.html | 7 +- docs/articles/webrunner.html | 3 - docs/files/Data-HomeInsurance.xlsx | Bin 238383 -> 238431 bytes docs/images/resource-usage-report.png | Bin 0 -> 84611 bytes docs/images/resource-usage.png | Bin 0 -> 6801 bytes docs/index.html | 3 - docs/manifest.json | 1837 +++++++++-------- docs/tutorials/app-elements.html | 3 - docs/tutorials/appium-driver.html | 3 - docs/tutorials/ci-cd.html | 3 - docs/tutorials/data-driven-cs.html | 8 +- docs/tutorials/data-driven-java.html | 3 - docs/tutorials/empty.html | 3 - docs/tutorials/gherkin-cs.html | 13 +- docs/tutorials/gherkin-java.html | 3 - docs/tutorials/intro.html | 3 - docs/tutorials/keyword-driven-cs.html | 11 +- docs/tutorials/keyword-driven-java.html | 3 - docs/tutorials/keyworddriven.html | 3 - docs/tutorials/linear-script-cs.html | 3 - docs/tutorials/linear-script-java.html | 3 - docs/tutorials/page-model.html | 5 +- docs/tutorials/secure-password.html | 3 - docs/tutorials/toc-concepts.html | 3 - docs/tutorials/toc-sample.html | 3 - docs/tutorials/toc-workaround.html | 3 - docs/tutorials/web-driver.html | 5 +- docs/tutorials/web-elements.html | 3 - docs/xrefmap.yml | 263 ++- .../AxaFrance.WebEngine.Doc.csproj | 2 + .../articles/accessibility.md | 2 +- .../articles/env-impact.md | 56 + src/AxaFrance.WebEngine.Doc/articles/toc.yml | 2 + .../articles/webengine-app.md | 2 +- .../articles/webengine-web.md | 4 +- .../images/resource-usage-report.png | Bin 0 -> 84611 bytes .../images/resource-usage.png | Bin 0 -> 6801 bytes .../tutorials/keyword-driven-cs.md | 2 +- .../tutorials/page-model.md | 2 +- .../tutorials/web-driver.md | 2 +- .../AxaFrance.WebEngine.ReportViewer.csproj | 2 +- .../MainWindow.xaml | 140 +- .../MainWindow.xaml.cs | 73 +- src/AxaFrance.WebEngine.Web/TestCaseWeb.cs | 8 +- .../Samples.DataDriven.csproj | 2 +- .../TestCases/TC_InsuranceQuote.cs | 1 - 141 files changed, 3194 insertions(+), 4760 deletions(-) create mode 100644 docs/api_net/AxaFrance.AxeExtended.HtmlReport.TagsProvider.html create mode 100644 docs/api_net/AxaFrance.WebEngine.Web.NetworkRequest.html create mode 100644 docs/articles/env-impact.html create mode 100644 docs/images/resource-usage-report.png create mode 100644 docs/images/resource-usage.png create mode 100644 src/AxaFrance.WebEngine.Doc/articles/env-impact.md create mode 100644 src/AxaFrance.WebEngine.Doc/images/resource-usage-report.png create mode 100644 src/AxaFrance.WebEngine.Doc/images/resource-usage.png diff --git a/docs/api_net/AxaFrance.AxeExtended.HtmlReport.AxeOverallResult.html b/docs/api_net/AxaFrance.AxeExtended.HtmlReport.AxeOverallResult.html index e613c11..8fc90b3 100644 --- a/docs/api_net/AxaFrance.AxeExtended.HtmlReport.AxeOverallResult.html +++ b/docs/api_net/AxaFrance.AxeExtended.HtmlReport.AxeOverallResult.html @@ -108,13 +108,8 @@
Syntax

Properties

- - | - Improve this Doc - - - View Source - + +

PageResults

List of all tested pages and their results

@@ -139,13 +134,8 @@
Property Value
- - | - Improve this Doc - - - View Source - + +

TimeStamp

The time when the report is generated

@@ -170,13 +160,8 @@
Property Value
- - | - Improve this Doc - - - View Source - + +

Title

Title of the application showing in the report

@@ -203,13 +188,8 @@
Property Value

Methods

- - | - Improve this Doc - - - View Source - + +

GetScore()

Calculate the overall score of the application based on all tested pages. @@ -245,12 +225,6 @@

Overrides

Constructors

- - | - Improve this Doc - - - View Source - + +

AxePageResult(AxeResult, PageReportBuilder)

Create a new instance of AxePageResult

@@ -153,13 +148,8 @@
Parameters

Properties

- - | - Improve this Doc - - - View Source - + +

AxeResult

Underlying AxeResult

@@ -184,13 +174,8 @@
Property Value
- - | - Improve this Doc - - - View Source - + +

Builder

The builder that created this report.

@@ -215,13 +200,8 @@
Property Value
- - | - Improve this Doc - - - View Source - + +

Inapplicable

These results indicate which rules did not run because no matching content was found on the page. @@ -247,13 +227,8 @@

Property Value
- - | - Improve this Doc - - - View Source - + +

Incomplete

These results were aborted and require further testing. @@ -279,13 +254,8 @@

Property Value
- - | - Improve this Doc - - - View Source - + +

Passes

These results indicate what elements passed the rules.

@@ -310,13 +280,8 @@
Property Value
- - | - Improve this Doc - - - View Source - + +

TestEngine

The application that ran the audit.

@@ -341,13 +306,8 @@
Property Value
- - | - Improve this Doc - - - View Source - + +

TestEnvironment

Information about the current browser or node application that ran the audit.

@@ -372,13 +332,8 @@
Property Value
- - | - Improve this Doc - - - View Source - + +

TestRunner

The runner that ran the audit.

@@ -403,13 +358,8 @@
Property Value
- - | - Improve this Doc - - - View Source - + +

Timestamp

The date and time that analysis was completed.

@@ -434,13 +384,8 @@
Property Value
- - | - Improve this Doc - - - View Source - + +

Url

The URL of the page that was tested.

@@ -465,13 +410,8 @@
Property Value
- - | - Improve this Doc - - - View Source - + +

Violations

These results indicate what elements failed the rules.

@@ -498,13 +438,8 @@
Property Value

Methods

- - | - Improve this Doc - - - View Source - + +

GetScore()

Calculate the score of the tested page using following weighted methods for Failed and Passed audits.

@@ -545,12 +480,6 @@
Remarks