From a01309582062da48d18c4b4f12603ace3049cb65 Mon Sep 17 00:00:00 2001
From: Pavel Anihimovsky <47742067+pavelanihimovsky@users.noreply.github.com>
Date: Mon, 13 Apr 2020 13:51:02 +0300
Subject: [PATCH] Enable docs generation (#171)
* Enbaled docs generation
* Add docs file
* Fix docs config
* Fix docs config
* Remove docs file
* Add generated docs
* Fix chromedriver version for azure
* Update NLog
* Update chromedriver version for azure
* Update target .net core version to 3.0, update nuget deps
Co-authored-by: Pavel Anihimovsky
---
.../Aquality.Selenium.csproj | 6 +-
.../Aquality.Selenium/Aquality.Selenium.xml | 1058 +++++++++++++++++
.../Aquality.Selenium.Tests.csproj | 11 +-
.../Resources/settings.azure.json | 2 +-
4 files changed, 1071 insertions(+), 6 deletions(-)
create mode 100644 Aquality.Selenium/src/Aquality.Selenium/Aquality.Selenium.xml
diff --git a/Aquality.Selenium/src/Aquality.Selenium/Aquality.Selenium.csproj b/Aquality.Selenium/src/Aquality.Selenium/Aquality.Selenium.csproj
index 0c6504ec..25dd8f80 100644
--- a/Aquality.Selenium/src/Aquality.Selenium/Aquality.Selenium.csproj
+++ b/Aquality.Selenium/src/Aquality.Selenium/Aquality.Selenium.csproj
@@ -18,6 +18,10 @@
true
+
+ Aquality.Selenium.xml
+
+
@@ -60,7 +64,7 @@
-
+
diff --git a/Aquality.Selenium/src/Aquality.Selenium/Aquality.Selenium.xml b/Aquality.Selenium/src/Aquality.Selenium/Aquality.Selenium.xml
new file mode 100644
index 00000000..b9146b1d
--- /dev/null
+++ b/Aquality.Selenium/src/Aquality.Selenium/Aquality.Selenium.xml
@@ -0,0 +1,1058 @@
+
+
+
+ Aquality.Selenium
+
+
+
+
+ Controls browser instance creation.
+
+
+
+
+ Check if browser already started.
+
+ true if browser started and false otherwise.
+
+
+
+ Gets registered instance of logger
+
+
+
+
+ Gets registered instance of localized logger
+
+
+
+
+ Gets ConditionalWait object
+
+
+
+
+ Gets and sets thread-safe instance of browser.
+
+ Instance of desired browser.
+
+
+
+ Method which allow user to override or add custom services.
+
+ > object with custom or overriden services.
+
+
+
+ Factory for application creation.
+
+
+
+
+ Sets default factory responsible for browser creation.
+ RemoteBrowserFactory if value set in configuration and LocalBrowserFactory otherwise.
+
+
+
+
+ Resolves required service from
+
+ type of required service.
+ Thrown if there is no service of the required type.
+
+
+
+
+ Provides functionality to work with browser via Selenium WebDriver.
+
+
+
+
+ Instantiate browser.
+
+ Instance of Selenium WebDriver for desired web browser.
+
+
+
+ Gets instance of Selenium WebDriver.
+
+ Instance of Selenium WebDriver for desired web browser.
+
+
+
+ Gets name of desired browser from configuration.
+
+ Name of browser.
+
+
+
+ Sets Selenium WebDriver ImplicitWait timeout.
+ Default value: .
+
+ Desired Implicit wait timeout.
+
+
+
+ Sets Selenium WebDriver PageLoad timeout.
+ Default value: .
+ Ignored for Safari cause of https://github.com/SeleniumHQ/selenium-google-code-issue-archive/issues/687.
+
+ Desired page load timeout.
+
+
+
+ Sets Selenium WebDriver AsynchronousJavaScript timeout.
+ Default value: .
+
+ Desired AsynchronousJavaScript timeout.
+
+
+
+ Gets browser configured download directory.
+
+
+
+
+ Gets URL of currently opened page in web browser.
+
+ String representation of page URL.
+
+
+
+ Checkes whether current SessionId is null or not.
+
+
+
+
+ Quit web browser.
+
+
+
+
+ Navigates to desired url.
+
+ String representation of URL.
+
+
+
+ Navigates back.
+
+
+
+
+ Navigates forward.
+
+
+
+
+ Refreshes web page and handles alert.
+
+ Action which should be done with appeared alert.
+
+
+
+ Refreshes current page.
+
+
+
+
+ Handles alert.
+
+ Action which should be done with appeared alert.
+ Text which can be send to alert.
+ Thrown when no alert found.
+
+
+
+ Maximises web page.
+
+
+
+
+ Waits for page to load within timeout.
+
+ Throws when timeout exceeded and page is not loaded.
+
+
+
+ Gets screenshot of web page.
+
+ Screenshot as byte array.
+
+
+
+ Scrolls window by coordinates.
+
+ Horizontal coordinate.
+ Vertical coordinate.
+
+
+
+ Executes JS script from embedded resource file (*.js).
+
+ Embedded resource path.
+ Script arguments.
+
+
+
+ Executes JS script from embedded resource file (*.js) and gets result value.
+
+ Embedded resource path.
+ Script arguments.
+ Type of return value.
+ Script execution result.
+
+
+
+ Executes predefined JS script.
+
+ Name of desired JS script.
+ Script arguments.
+
+
+
+ Executes JS script.
+
+ String representation of JS script.
+ Script arguments.
+
+
+
+ Executes predefined JS script and gets result value.
+
+ Name of desired JS script.
+ Script arguments.
+ Type of return value.
+ Script execution result.
+
+
+
+ Executes JS script and gets result value.
+
+ String representation of JS script.
+ Script arguments.
+ Type of return value.
+ Script execution result.
+
+
+
+ Executes JS script asynchronously from embedded resource file (*.js) and gets result value.
+
+ Embedded resource path.
+ Script arguments.
+ Script execution result.
+
+
+
+ Executes predefined JS script and gets result value.
+
+ Name of desired JS script.
+ Script arguments.
+ Script execution result.
+
+
+
+ Executes JS script asynchronously and gets result value.
+
+ String representation of JS script.
+ Script arguments.
+ Script execution result.
+
+
+
+ Sets size of current window.
+
+ Width in pixels.
+ Height in pixels.
+
+
+
+ Supported browser.
+
+
+
+
+ Possible alert action.
+
+
+
+
+ Abstract representation of .
+
+
+
+
+ Wrapper over implementation of Selenium WebDriver navigation.
+
+
+
+
+ Navigates back.
+
+
+
+
+ Navigates forward.
+
+
+
+
+ Navigates to desired url.
+
+ String representation of URL.
+
+
+
+ Navigates to desired url.
+
+ Uri representation of URL.
+
+
+
+ Refreshes current page.
+
+
+
+
+ Factory that creates instance of desired Browser based on .
+
+
+
+
+ Creates instance of Browser.
+
+ Instance of desired Browser.
+
+
+
+ Predefined JS scripts.
+
+
+
+
+ Extensions for enum.
+
+
+
+
+ Gets string representation of JS script.
+
+ Desired JS script name.
+ String representation of script.
+
+
+
+ Factory that creates instance of local Browser.
+
+
+
+
+ Factory that creates instance of remote Browser.
+
+
+
+
+ Provides target browser profile.
+
+
+
+
+ Instantiates class using JSON file with general settings.
+
+ JSON settings file.
+
+
+
+ Describes browser settings.
+
+
+
+
+ Gets name of target browser.
+
+
+
+
+ Is remote browser or not: true if remote browser and false if local.
+
+
+
+
+ Gets remote connection URI is case of remote browser.
+
+
+
+
+ Is element hightlight enabled or not: true if element highlight is enabled and false otherwise
+
+
+
+
+ Gets driver settings for target browser.
+
+ Thrown when there is no assigned behaviour for retrieving DriverSettings for target browser.
+
+
+
+ Describes timeouts configuration.
+
+
+
+
+ Gets WedDriver AsynchronousJavaScript timeout.
+
+
+
+
+ Gets WedDriver PageLoad timeout.
+
+
+
+
+ Provides timeouts configuration.
+
+
+
+
+ Instantiates class using JSON file with general settings.
+
+ JSON settings file.
+
+
+
+ Settings specific for Chrome web driver.
+
+
+
+
+ Instantiates class using JSON file with general settings.
+
+ JSON settings file.
+
+
+
+ Abstract representation of web driver settings.
+
+
+
+
+ Instantiates class using JSON file with general settings.
+
+ JSON settings file.
+
+
+
+ Settings specific for Edge web driver.
+
+
+
+
+ Instantiates class using JSON file with general settings.
+
+ JSON settings file.
+
+
+
+ Settings specific for Firefox web driver.
+
+
+
+
+ Instantiates class using file with general settings.
+
+ Settings file.
+
+
+
+ Describes web driver settings.
+
+
+
+
+ Gets version of web driver for WebDriverManager.
+
+
+
+
+ Gets target system architecture for WebDriverManager.
+
+
+
+
+ Gets desired options for web driver.
+
+
+
+
+ Gets download directory for web driver.
+
+ Thrown when browser settings do not contain capability key.
+
+
+
+ Gets web driver capability key for download directory.
+
+
+
+
+ Settings specific for InternetExplorer web driver.
+
+
+
+
+ Instantiates class using file with general settings.
+
+ Settings file.
+
+
+
+ Settings specific for Safari web driver.
+
+
+
+
+ Instantiates class using file with general settings.
+
+ Settings file.
+
+
+
+ Allows to perform actions on elements via JavaScript specific for CheckBoxes.
+
+
+
+
+ Gets CheckBox state.
+
+ True if checked and false otherwise
+
+
+
+ Performs check action on the element.
+
+
+
+
+ Performs uncheck action on the element.
+
+
+
+
+ Performs toggle action on the element.
+
+
+
+
+ Allows to perform actions on elements via JavaScript specific for ComboBoxes.
+
+
+
+
+ Gets texts of options from ComboBox.
+
+ List of options' texts
+
+
+
+ Gets text of selected option.
+
+ Selected option text.
+
+
+
+ Select value by option's text.
+
+ Target option.
+
+
+
+ Allows to perform actions on elements via JavaScript.
+
+
+
+
+ Perfroms click on element and waits for page is loaded.
+
+
+
+
+ Performs click on element.
+
+
+
+
+
+ Scrolling page to the element.
+
+
+
+
+ Scrolling element by coordinates.
+
+ Element have to contains inner scroll bar.
+ Horizontal coordinate
+ Vertical coordinate
+
+
+
+ Scrolling to the center of element.
+ Upper bound of element will be in the center of the page after scrolling
+
+
+
+
+ Setting value.
+
+ Value to set
+
+
+
+ Set focus on element.
+
+
+
+
+ Checks whether element on screen or not.
+
+ True if element is on screen and false otherwise.
+
+
+
+ Get text from element.
+
+ Text from element
+
+
+
+ Hover mouse over element.
+
+
+
+
+ Get element's XPath.
+
+ String representation of element's XPath locator.
+
+
+
+ Gets element coordinates relative to the View Port.
+
+ Point object.
+
+
+
+ Allows to perform actions on elements via Selenium Actions class.
+
+
+
+
+ Performs click on element.
+
+
+
+
+ Performs double click on element.
+
+
+
+
+ Perfroms right click on element.
+
+
+
+
+ Moves mouse to the element.
+
+
+
+
+ Defines Button UI element.
+
+
+
+
+ Defines CheckBox UI element.
+
+
+
+
+ Defines ComboBox UI element.
+
+
+
+
+ Defines base class for any UI element.
+
+
+
+
+ Factory that creates elements.
+
+
+
+
+ Gets map between elements interfaces and their implementations.
+ Can be extended for custom elements with custom interfaces.
+
+ Dictionary where key is interface and value is its implementation.
+
+
+
+ Possible element hightlight states (on/off).
+
+
+
+
+ Describes behavior of Button UI element.
+
+
+
+
+ Describes behavior of CheckBox UI element.
+
+
+
+
+ Gets CheckBox specific JavaScript actions.
+
+ Instance of
+
+
+
+ Gets CheckBox state: True if checked and false otherwise.
+
+
+
+
+ Performs check action on the element.
+
+
+
+
+ Performs uncheck action on the element.
+
+
+
+
+ Performs toggle action on the element.
+
+
+
+
+ Describes behavior of ComboBox UI element.
+
+
+
+
+ Gets ComboBox specific JavaScript actions.
+
+ Instance of
+
+
+
+ Gets value of selected option.
+
+ Value representation of selected option.
+
+
+
+ Gets text of selected option.
+
+ Text representation of selected option.
+
+
+
+ Gets list of text of available options.
+
+ List of text of available options.
+
+
+
+ Gets list of available values.
+
+ List of available values.
+
+
+
+ Selects option by its index in the list.
+
+ Index of option in the list.
+
+
+
+ Selects option by its text.
+
+ Text of option.
+
+
+
+ Selects option by its value.
+
+ Value of option.
+
+
+
+ Selects option by partial text.
+
+ Partial text of option.
+
+
+
+ Selects option by partial value.
+
+ Partial value of option.
+
+
+
+ Describes behavior of any UI element.
+
+
+
+
+ Gets JavaScript actions that can be performed with an element.
+
+ Instance of
+
+
+
+ Gets Mouse actions that can be performed with an element.
+
+ Instance of
+
+
+
+ Gets element text.
+
+ Should the element be hightlighted or not.
+ Default value is from configuration:
+ String representation of element text.
+
+
+
+ Gets element attribute value by its name.
+
+ Name of attrbiute
+ Should the element be hightlighted or not.
+ Default value is from configuration:
+ Value of element attribute.
+
+
+
+ Gets css value of the element.
+
+ Name of css property
+ Should the element be hightlighted or not.
+ Default value is from configuration:
+ Value of element attribute.
+
+
+
+ Clicks the element and waits for page to load.
+
+
+
+
+ Waits for page to load and click the element.
+
+
+
+
+ Set focus on element.
+
+
+
+
+ Sets element inner HTML.
+
+ Value to set.
+
+
+
+ Defines the interface used to create the elements.
+
+
+
+
+ Creates element that implements IButton interface.
+
+ Element locator
+ Element name
+ Element state
+ Instance of element that implements IButton interface
+
+
+
+ Creates element that implements ICheckBox interface.
+
+ Element locator
+ Element name
+ Element state
+ Instance of element that implements ICheckBox interface
+
+
+
+ Creates element that implements IComboBox interface.
+
+ Element locator
+ Element name
+ Element state
+ Instance of element that implements IComboBox interface
+
+
+
+ Creates element that implements ILabel interface.
+
+ Element locator
+ Element name
+ Element state
+ Instance of element that implements ILabel interface
+
+
+
+ Creates element that implements ILink interface.
+
+ Element locator
+ Element name
+ Element state
+ Instance of element that implements ILink interface
+
+
+
+ Creates element that implements IRadioButton interface.
+
+ Element locator
+ Element name
+ Element state
+ Instance of element that implements IRadioButton interface
+
+
+
+ Creates element that implements ITextBox interface.
+
+ Element locator
+ Element name
+ Element state
+ Instance of element that implements ITextBox interface
+
+
+
+ Describes behavior of Label UI element.
+
+
+
+
+ Describes behavior of Link UI element.
+
+
+
+
+ Gets value of href attribute.
+
+ String representation of element's href.
+
+
+
+ Describes behavior of RadioButton UI element.
+
+
+
+
+ Gets RadioButton state.
+
+ True if checked and false otherwise.
+
+
+
+ Describes behavior of TextBox UI element.
+
+
+
+
+ Gets text value of an element.
+
+ String representation of element's value
+
+
+
+ Type text in an element.
+
+ Text to type.
+ Should the typing text be hidden in logs or not. False by default.
+
+
+
+ Clear element text and type value.
+
+ Text to type.
+ Should the typing text be hidden in logs or not. False by default.
+
+
+
+ Submit typed value.
+
+
+
+
+ Defines Label UI element.
+
+
+
+
+ Defines Link UI element.
+
+
+
+
+ Defines RadioButton UI element.
+
+
+
+
+ Defines TextBox UI element.
+
+
+
+
+ Defines base class for any UI form.
+
+
+
+
+ Constructor with parameters.
+
+ Unique locator of the form.
+ Name of the form.
+
+
+
+ Locator of specified form.
+
+
+
+
+ Name of specified form.
+
+
+
+
+
+
+ Return form state for form locator
+
+ True - form is opened,
+ False - form is not opened.
+
+
+
+ Gets size of form element defined by its locator.
+
+
+
+
+ Scroll form without scrolling entire page
+
+ horizontal coordinate
+ vertical coordinate
+
+
+
diff --git a/Aquality.Selenium/tests/Aquality.Selenium.Tests/Aquality.Selenium.Tests.csproj b/Aquality.Selenium/tests/Aquality.Selenium.Tests/Aquality.Selenium.Tests.csproj
index 161bb442..b7ec5075 100644
--- a/Aquality.Selenium/tests/Aquality.Selenium.Tests/Aquality.Selenium.Tests.csproj
+++ b/Aquality.Selenium/tests/Aquality.Selenium.Tests/Aquality.Selenium.Tests.csproj
@@ -1,7 +1,7 @@
- netcoreapp2.1
+ netcoreapp3.0
false
@@ -25,9 +25,12 @@
-
-
-
+
+
+ all
+ runtime; build; native; contentfiles; analyzers; buildtransitive
+
+
diff --git a/Aquality.Selenium/tests/Aquality.Selenium.Tests/Resources/settings.azure.json b/Aquality.Selenium/tests/Aquality.Selenium.Tests/Resources/settings.azure.json
index 0d1b6f1b..c066efea 100644
--- a/Aquality.Selenium/tests/Aquality.Selenium.Tests/Resources/settings.azure.json
+++ b/Aquality.Selenium/tests/Aquality.Selenium.Tests/Resources/settings.azure.json
@@ -6,7 +6,7 @@
"driverSettings": {
"chrome": {
- "webDriverVersion": "Latest",
+ "webDriverVersion": "80.0.3987.106",
"capabilities": {
"enableVNC": true
},