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 },