diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index c745be1be3..16be293408 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -33,12 +33,13 @@ env: on: push: + paths-ignore: [ '*.md' ] branches: - master pull_request: + paths-ignore: [ '*.md' ] branches: - master - page_build: release: types: # This configuration does not affect the page_build event above - created diff --git a/Documents/1.txt b/Documents/1.txt deleted file mode 100644 index ec3b2fefef..0000000000 --- a/Documents/1.txt +++ /dev/null @@ -1 +0,0 @@ -dummy file, please ignore me diff --git a/Documents/element_design.md b/Documents/element_design.md new file mode 100644 index 0000000000..98ed2305af --- /dev/null +++ b/Documents/element_design.md @@ -0,0 +1,83 @@ +Designing a UI element for a test automation framework like JDI-Light involves several steps to ensure the element is reusable, robust, and integrates well with the existing framework: + +### 1: Identify the Element +- **Main question:** Imagine, that you have this element in your project site, what should be testable for it? How would you implement it, what kind of functionality you always looking for? +- **Research:** Understand the UI component you want to design. For a material UI design, you might be looking at elements like buttons, cards, dialogs, sliders, etc. Use the JDI-Light, Bootstrap or Material Design guidelines as a reference. + - [JDI-Light](https://jdi-docs.github.io/jdi-light/?java#theory) + - [Bootstrap](https://getbootstrap.com/docs/5.3/components/) + - [Material 2](https://m2.material.io/components?platform=web) + - [Material 3](https://m3.material.io/components?platform=web) + +- **Requirement Analysis:** Determine the functionalities and states this element can have. For instance, a button may have different states like hover, disabled, or pressed. For this step it is also good to use Material Design guidelines referencesd above. + +### 2: Define the Interface +- **List Properties:** Decide on the properties your element should expose. For a button, properties could include text, color, size, and state. +- **Define Methods:** Outline the actions you can perform with the element, e.g., click, getText, isEnabled. +- **Consider Events:** Think about what events the element should respond to, e.g., onClick, onFocus. +- **Examples:** Good example you can see in [interface IsText](https://github.com/jdi-testing/jdi-light/blob/master/jdi-light-selenium3/src/main/java/com/epam/jdi/light/elements/interfaces/common/IsText.java) More examples you can [see here](https://github.com/jdi-testing/jdi-light/tree/master/jdi-light-selenium3/src/main/java/com/epam/jdi/light/elements/interfaces/base) eg. (Interfaces introduces all abovementioned approches): + - HasCheck + - HasClick + - HasLabel + - HasPlaceholder + - HasUIList + - HasValue + - IClickable etc. + + +### 3: Consider Inheritance and Abstraction +- **Base Classes:** Look for any existing elements in JDI-Light that are similar and can act as base classes. This helps in reusing code and keeping the design DRY (Don't Repeat Yourself). +Good candidates for base classes - members of [following folder](https://github.com/jdi-testing/jdi-light/tree/master/jdi-light-html/src/main/java/com/epam/jdi/light/ui/html/elements/common) eg.: + - Button + - Checkbox + - Image + - Icon etc. + +- **Abstract Elements:** If needed, design an abstract class that holds common properties and methods for a category of elements. For example, all form controls might share certain behaviors. +Examples for abstraction - look at the similarity of different elements and incorporate them in to an abstract class, have a look on a [Progress bar implementation](https://github.com/jdi-testing/jdi-light/blob/master/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/feedback/progress/Progress.java). Following is more good candidates for abstraction: + - Table + - Bar + - List + + +### 4: Incorporate Element Locators +- **Locators:** Define how the element will be located in the DOM. Choose the most stable locators to ensure reliable tests. +- **Methods for Locators:** Decide how the element can change its locators if needed, to make the custom element flexible and reusable in different contexts. +- **NB** ***When using XPath locators***, it's essential to be mindful of their scope within the DOM. By default, an XPath expression is evaluated in the context of the entire document, which can lead to selecting unintended elements if the DOM contains multiple elements that match the given expression. To constrain the search to just the descendants of a specific root element, always start the XPath with a period (.) to indicate the current context. + +### 5: Design for extensibility +- Consider how the element can be customized or extended. Users of your framework might need to adjust the default behavior or appearance. +- Mockups and Prototypes (please have a look inside detailes)
+ **Make visual design:** Draw a visual representation of the element to understand how it should look and behave. Use prototyping platforms like Figma, Sketch, or InVision. + **Create prototype:** Define example scenarios where the UI element would be used, what the expected user input and system responses would be. This can include common and edge case scenarios. Write detailed UI specifications that describe the functionality, appearance, and behavior of the element. These should include dimensions, color schemes, typographic details, and states (e.g., hover, disabled). +
+ +### 6: Document the Design +- **Documentation:** Write clear documentation outlining how the element is supposed to work and how it should be used within the JDI-Light framework. +- **Examples:** Provide examples of usage including variations of the element if applicable. +- **Javadoc** Write all documentation related to an element in a form of Javadoc inside an element class. +- **Task for frontend** Express all abowementioned actions (in 6 and 7 steps) in a form of a task for a frontend developer in order to adjust testsite - to get element you designed on it. +- **@JDIAction** Always use this annotation to explane actions as following: + - '{name}' - the name of the element on which the method is called. + - {0}, {1}, ... - method parameters. + - If the parameter type is Matcher, then do not use quotes and do not use is/has: *@JDIAction("Check that '{name}' text {0}")* + - Get-method -> *@JDIAction("Get ...")* + - Set-method -> *@JDIAction("Set '{name}' text area as '{0}'") * + - Boolean method -> *@JDIAction("Get if '{name}' text area is empty")* + - Asserts -> *@JDIAction(value = "Assert that '{name}' text is {0}", isAssert = true)* + + +### 7: Plan for Testing +- **Testing Strategy:** Determine how you will test the custom element within the JDI-Light framework. +- **Test Cases:** Outline test cases to cover all functionalities and states of the element. Keep in mind that you need to represent all features of your element. + + +### Notes: +- Make sure that locators you using in a framework is not implementation-specific. You must use locators which will not change on a different web-site implementation. If you are unable to present your element w/o usage implementation-specific locator - create a custom element inside a test project and use it in test. +- If you are implementing an element that may contain any kind of elements - just implement it as a container and then in a test project make custom elements - to show how to work with it. +- Consider naming conventions that match the JDI-Light framework to maintain coherence and reduce the learning curve for users of your custom library. Have a look on already implemented [classes](https://github.com/jdi-testing/jdi-light/blob/add_documentation_element_design/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/displaydata/Badge.java) and [tests](https://github.com/jdi-testing/jdi-light/blob/add_documentation_element_design/jdi-light-material-ui-tests/src/test/java/io/github/epam/material/tests/displaydata/BadgeTests.java) Project has checkstyle enabled you may have a look on [rules](https://github.com/jdi-testing/jdi-light/blob/add_documentation_element_design/config/checkstyle/checkstyle.xml).
+ - **Do note use UIElement when you can use typed one** (like UIElement button) + - **Use meaningful and descriptive names**: The method name should clearly state what the method does. For example, a method that checks if a container is fixed could be named `isFixed()`. + - **Start boolean methods with is, has, can, or similar**: If a method returns a boolean, it's often a good idea to start the name with `is`, `has`, `can`, or similar to make it clear that the method returns a boolean. For example, `isFixed()`, `hasTitle()`. + - **Use verbs for methods that perform actions**: If a method performs an action, it's often a good idea to start the name with a verb. For example, `scrollDown()`. + - **Keep it short**: While descriptive names are good, overly long names can make the code harder to read. Try to keep the method names concise. +
diff --git a/Documents/start_contribution.md b/Documents/start_contribution.md new file mode 100644 index 0000000000..ff10669517 --- /dev/null +++ b/Documents/start_contribution.md @@ -0,0 +1,137 @@ +# Contributing to JDI Light + +## 1: Setting Up the Repository for Contribution +If you already have write access to the repository or do not need to create a personal fork for contribution, you can directly clone the repository to your local machine: +``` bash +git clone https://github.com/jdi-testing/jdi-light.git +``` +If you don't have write access, then first fork the repository to your own GitHub account by clicking the "Fork" button on the repository page. This creates a personal copy of the repository where you can make changes without affecting the original project. Next, clone your forked repository to your local machine using the command: + +``` bash +git clone https://github.com/YOUR_USERNAME/jdi-light.git +``` + +Replace YOUR_USERNAME with your GitHub username. This step prepares your local development environment for making contributions. + +Insead cloning repo in a terminal you can do that by opening a project from IDE here an examples for different IDEs: + +- IntelliJ IDEA: + - If you see the Welcome screen, click on "Get from VCS". + - If you have already opened a project, select "File" > "New" > "Project from Version Control..." from the main menu. +- Visual Studio Code: + - If you see the Welcome screen, click on "Clone Git repository". + - If you have already opened a project, press ctr+shift+G or select Source control in a left menu and push "Clone repository" + + +## 2: Understand the project structure + +Core methods and classes are resides in a jdi-light/jdi-light-core folder + +Project contains multiple folders like: +- **.github/workflows** - in this folder you can find github actions description triggers on merging branches. +- Core methods and classes are resides in a **jdi-light/jdi-light-core** folder. +- **jdi-light-XXXX** - Contains the JDI Light specific module targets specific kind of testing or element base. You can see dependencies betveen modules in pom.xml for each module. +- **jdi-light-XXXX-tests** - Holds tests for the abovementioned specific module. +- **jdi-light-XXXX-tests/src/test/resources** - holds variouce property files for example, the chrome.properties file is used to configure the Chrome driver, and the ff.properties file is used to configure the Firefox driver. + +### Browser and test settings + +The test.properties file is a general configuration file that contains various settings for the tests, such as the base URL for the tests, the driver to use, and other settings. Make sure to understand and update these files as necessary for your specific setup. +- test.properties - with this file you can fine tune a framework for your needs eg: + +> driver — we can specify the driver used to run our tests. Common options include chrome, firefox, ie; we can also just put ${driver} here and read the driver name from the command line. +driver.version — by default, JDI Light will download the latest version of a driver for us, but if we need a specific version we can put it here (in which case the framework will find and download exactly this version). ➡️ **[see to find more about a configuration following](https://jdi-docs.github.io/jdi-light/?java#configuration)** + +- chrome.properties also have some specific parametres to run browser: +``` bash +#arguments=--ignore-certificate-errors --start-maximized --incognito +#enableVNC=true +``` + +**NOTE: by default browser shall be set in headless mode - in order to run ptoperly on CI!** However for the local usage you may set it in a non-headless mode, you just need configure both common.properties and test.properties: +- common.properties just comment: +``` bash + #arguments=--headless +``` +- test.properties set up: +``` bash +headless=false +``` + + +## 3: Build the Project + +Check your java version - you need atleast 11 java to run it +NOTE: current jdi-light version is not support Java greater than 21 yet, due to AspectJ usage. +**(check /jdi-light/.github/workflows/main.yml - to find all compatible versions)** +``` bash +java --version +``` + +The JDI Light project uses Maven to build the project. You can build the project with the following command: +``` bash +mvn -ntp install -DskipTests -Dsource.skip -Dmaven.source.skip -Dmaven.javadoc.skip=true +``` +This command tells Maven to build the project, skipping tests, source file generation, and JavaDoc generation. + +**If you encountering errors on this step:** +- make sure that you have access to https://repo.maven.apache.org/maven2/ (for example you may have some +other default repo in your .m2/settings.xml) +- make sure that you using a correct java version supported by Jdi-light by using **java --version** (if not - install a correct one and set it as a default before runnign a project) +- look closely at console logs - it is always can help to find a solution + +## 4: Run Tests via command line + +To run tests you can use few following examples: +- run all tests from jdi-light-angular-tests folder +``` bash + mvn verify -ntp -Ddriver=chrome -pl com.epam.jdi:jdi-light-angular-tests +``` +- run all tests from jdi-light-angular-tests folder with some additional options +``` bash +mvn verify -ntp -Ddriver=firefox -Dff.capabilities.path=jdi-light-vuetify-tests/src/test/resources/ff.properties -pl com.epam.jdi:jdi-light-vuetify-tests --fail-at-end +``` +- run a specific test, you can use the mvn verify command with the -Dtest parameter followed by the name of the test class. For example, if the test class is GridListTests, you can run it like this: +``` bash +mvn verify -ntp -Ddriver=chrome -Dtest=io.github.epam.vuetify.tests.composite.FormsTests -pl com.epam.jdi:jdi-light-vuetify-tests --fail-at-end +``` + +## 5: Run tests in IDE +After you have built a project on a step 3 you may accually run tests straight from IDE (vscode or intellij IDEA) by clicking on a green triangle near a test class + + +## 6: Make Your Changes Now you're ready to start contributing! +Make your changes to the codebase, making sure to follow any coding standards or guidelines defined by the project. + +## 7: Contribution flow + + - Create a new branch using + ``` bash + git checkout -b + ``` + Replace \ with a descriptive name for your branch. Use references to a task. + +- Make your changes in the new branch. Ensure that your code adheres to the project's coding standards and guidelines. + +- Stage your changes using +``` bash +git add +``` + +- Commit your changes using +``` bash +git commit -m "" +``` + Replace \ with a descriptive message about the changes you made. A good commit message is concise, uses the imperative mood, and describes what was done and why. + +- Push your changes to the remote repository using +``` bash +git push origin +``` + +- Go to the GitHub page of your forked repository and click on "Pull request". +Choose the branch you just pushed from the "compare" dropdown. +Review your changes and then click on "Create pull request". + +- After creating a pull request, the Github Actions pipeline will automatically run to check your changes. +You can see the status of the [Actions pipeline](https://github.com/jdi-testing/jdi-light/actions) on the GitHub page of your pull request. If the job fails, click on the job link to see what went wrong and fix the issues. **Please make sure that PR pipeline is green** \ No newline at end of file diff --git a/README.md b/README.md index 28c7b84332..ca09c1db18 100644 --- a/README.md +++ b/README.md @@ -20,9 +20,8 @@ Project templates: https://github.com/jdi-templates - for fast projects start How to use [UI Elements examples](https://github.com/jdi-testing/jdi-light/tree/master/jdi-light-html-tests/src/test/java/io/github/epam/html/tests/elements)
Increase test [performance examples](https://github.com/jdi-testing/jdi-light/tree/master/jdi-performance)
-
-
- +How to start contribution [setup environment](https://github.com/jdi-testing/jdi-light/blob/master/Documents/start_contribution.md)
+How to design element [basic description](https://github.com/jdi-testing/jdi-light/blob/master/Documents/element_design.md) ## Introduction JDI Light – is the test Framework for UI test automation that helps to makes your tests fast and sustainable and provide obvious and predictable test run result @@ -55,8 +54,6 @@ Example Scenario tests: https://github.com/jdi-testing/jdi-light/tree/master/jdi Site: http://jdi.epam.com/ -VK: https://vk.com/jdi_framework - Facebook: https://www.facebook.com/groups/jdi.framework/ You can ask your questions on StackOverflow with [![htmlelements](https://img.shields.io/badge/stackoverflow-jdiframework-orange.svg?style=flat)](http://stackoverflow.com/questions/tagged/jdiframework) tag diff --git a/jdi-light-core/pom.xml b/jdi-light-core/pom.xml index f63563fee4..875f59d7aa 100644 --- a/jdi-light-core/pom.xml +++ b/jdi-light-core/pom.xml @@ -40,7 +40,7 @@ org.apache.commons commons-compress - 1.25.0 + 1.26.0 com.jdiai.tools @@ -66,7 +66,7 @@ io.github.bonigarcia webdrivermanager - 5.6.3 + 5.6.4 com.github.docker-java diff --git a/jdi-light-material-ui-tests/src/main/java/io/github/com/StaticSite.java b/jdi-light-material-ui-tests/src/main/java/io/github/com/StaticSite.java index 4bd6650f8e..271f422c5b 100644 --- a/jdi-light-material-ui-tests/src/main/java/io/github/com/StaticSite.java +++ b/jdi-light-material-ui-tests/src/main/java/io/github/com/StaticSite.java @@ -31,7 +31,6 @@ import io.github.com.pages.inputs.SlidersPage; import io.github.com.pages.inputs.SwitchPage; import io.github.com.pages.inputs.TextFieldPage; -import io.github.com.pages.layout.BoxPage; import io.github.com.pages.layout.ContainerPage; import io.github.com.pages.layout.GridListPage; import io.github.com.pages.layout.GridPage; @@ -301,10 +300,6 @@ public class StaticSite { public static ContextMenuPage contextMenuPage; // layouts - // box - @Url("/box_layout") - public static BoxPage boxPage; - // container @Url("/container_layout") public static ContainerPage containerPage; diff --git a/jdi-light-material-ui-tests/src/main/java/io/github/com/custom/elements/FloatingAnimatedButtonsSection.java b/jdi-light-material-ui-tests/src/main/java/io/github/com/custom/elements/FloatingAnimatedButtonsSection.java index dba56675ec..ddecd65bc4 100644 --- a/jdi-light-material-ui-tests/src/main/java/io/github/com/custom/elements/FloatingAnimatedButtonsSection.java +++ b/jdi-light-material-ui-tests/src/main/java/io/github/com/custom/elements/FloatingAnimatedButtonsSection.java @@ -8,7 +8,7 @@ /** * Represents animated FAB (Floating Action Button) for multiple lateral screens (such as tabbed screens) component of MUI on GUI. * - * @see FAB MUI documentation + * @see FAB MUI documentation * @see MUI test page */ public class FloatingAnimatedButtonsSection extends Section { diff --git a/jdi-light-material-ui-tests/src/main/java/io/github/com/custom/elements/table/CollapsingTable.java b/jdi-light-material-ui-tests/src/main/java/io/github/com/custom/elements/table/CollapsingTable.java index 474e66ec7b..476e0ed3bc 100644 --- a/jdi-light-material-ui-tests/src/main/java/io/github/com/custom/elements/table/CollapsingTable.java +++ b/jdi-light-material-ui-tests/src/main/java/io/github/com/custom/elements/table/CollapsingTable.java @@ -13,7 +13,7 @@ /** * Table with inner tables in expanding rows. * - * @see Mui example + * @see Mui example * @see Test page */ public class CollapsingTable extends Table { diff --git a/jdi-light-material-ui-tests/src/main/java/io/github/com/custom/elements/table/TableWithFilters.java b/jdi-light-material-ui-tests/src/main/java/io/github/com/custom/elements/table/TableWithFilters.java index b9a9f9d895..5e9db80725 100644 --- a/jdi-light-material-ui-tests/src/main/java/io/github/com/custom/elements/table/TableWithFilters.java +++ b/jdi-light-material-ui-tests/src/main/java/io/github/com/custom/elements/table/TableWithFilters.java @@ -16,7 +16,7 @@ * * @param inherited from super class {@link DataTable} * @param inherited from super class {@link DataTable} - * @see Mui example + * @see Mui example * @see Test page */ public class TableWithFilters extends DataTable { diff --git a/jdi-light-material-ui-tests/src/main/java/io/github/com/custom/elements/textfields/MultilineTextField.java b/jdi-light-material-ui-tests/src/main/java/io/github/com/custom/elements/textfields/MultilineTextField.java index 2c462a22a3..95b0118b43 100644 --- a/jdi-light-material-ui-tests/src/main/java/io/github/com/custom/elements/textfields/MultilineTextField.java +++ b/jdi-light-material-ui-tests/src/main/java/io/github/com/custom/elements/textfields/MultilineTextField.java @@ -8,7 +8,7 @@ * Represents multiline text field MUI component on GUI. * This text field has textarea component that represents the input field. * - * @see Multiline Text Field MUI documentation + * @see Multiline Text Field MUI documentation * @see MUI test page */ public class MultilineTextField extends TextField { diff --git a/jdi-light-material-ui-tests/src/main/java/io/github/com/custom/elements/textfields/SelectTextField.java b/jdi-light-material-ui-tests/src/main/java/io/github/com/custom/elements/textfields/SelectTextField.java index 7562d68e38..7f443a5e0c 100644 --- a/jdi-light-material-ui-tests/src/main/java/io/github/com/custom/elements/textfields/SelectTextField.java +++ b/jdi-light-material-ui-tests/src/main/java/io/github/com/custom/elements/textfields/SelectTextField.java @@ -11,7 +11,7 @@ * Whereas native select text field uses HTML tags <select> and <option>, * default select text field uses <ul> and <li>. * - * @see Select Text Field MUI documentation + * @see Select Text Field MUI documentation * @see MUI test page */ public class SelectTextField extends TextField { diff --git a/jdi-light-material-ui-tests/src/main/java/io/github/com/pages/layout/BoxPage.java b/jdi-light-material-ui-tests/src/main/java/io/github/com/pages/layout/BoxPage.java deleted file mode 100644 index 8f6b04cfb5..0000000000 --- a/jdi-light-material-ui-tests/src/main/java/io/github/com/pages/layout/BoxPage.java +++ /dev/null @@ -1,22 +0,0 @@ -package io.github.com.pages.layout; - -import com.epam.jdi.light.elements.composite.WebPage; -import com.epam.jdi.light.elements.pageobjects.annotations.locators.UI; -import com.epam.jdi.light.ui.html.elements.common.Button; -import com.epam.jdi.light.ui.html.elements.common.Text; - -public class BoxPage extends WebPage { - - // @todo #5297 Do not see any Box class, do we really need this page? - @UI(".MuiButton-contained") - public static Button buttonContainedBox; - - @UI(".MuiButton-outlined") - public static Button buttonOutlinedBox; - - @UI(".Mui-disabled") - public static Button buttonDisabledBox; - - @UI("#lastClickContent") - public static Text lastClickContent; -} diff --git a/jdi-light-material-ui-tests/src/test/java/io/github/epam/enums/Colors.java b/jdi-light-material-ui-tests/src/test/java/io/github/epam/enums/Colors.java index 2647dc8985..f7de2fbe0d 100644 --- a/jdi-light-material-ui-tests/src/test/java/io/github/epam/enums/Colors.java +++ b/jdi-light-material-ui-tests/src/test/java/io/github/epam/enums/Colors.java @@ -4,7 +4,7 @@ * Contains named constants representing colors from MUI color palette. Each constant includes information about its * hexadecimal code and its RGBA code. * - * @see MUI color palette + * @see MUI color palette */ public enum Colors { DEFAULT("#212121", "rgba(0, 0, 0, 0.87)"), diff --git a/jdi-light-material-ui-tests/src/test/java/io/github/epam/material/tests/displaydata/MaterialIconTests.java b/jdi-light-material-ui-tests/src/test/java/io/github/epam/material/tests/displaydata/MaterialIconTests.java index 8ee557125d..f4843bf523 100644 --- a/jdi-light-material-ui-tests/src/test/java/io/github/epam/material/tests/displaydata/MaterialIconTests.java +++ b/jdi-light-material-ui-tests/src/test/java/io/github/epam/material/tests/displaydata/MaterialIconTests.java @@ -13,7 +13,7 @@ /** * To see an example of Material icons web element please visit - * https://material-ui.com/components/material-icons/ + * https://v4.mui.com/components/material-icons/ */ public class MaterialIconTests extends TestsInit { diff --git a/jdi-light-material-ui-tests/src/test/java/io/github/epam/material/tests/displaydata/TableTests.java b/jdi-light-material-ui-tests/src/test/java/io/github/epam/material/tests/displaydata/TableTests.java index 4a1ed2cfc3..dd52823733 100644 --- a/jdi-light-material-ui-tests/src/test/java/io/github/epam/material/tests/displaydata/TableTests.java +++ b/jdi-light-material-ui-tests/src/test/java/io/github/epam/material/tests/displaydata/TableTests.java @@ -23,7 +23,7 @@ /** * To see an example of Tables web element please visit - * https://material-ui.com/components/tables/ + * https://v4.mui.com/components/tables/ */ public class TableTests extends TestsInit { diff --git a/jdi-light-material-ui-tests/src/test/java/io/github/epam/material/tests/feedback/BackdropTests.java b/jdi-light-material-ui-tests/src/test/java/io/github/epam/material/tests/feedback/BackdropTests.java index 31b3f4e023..46374f04bf 100644 --- a/jdi-light-material-ui-tests/src/test/java/io/github/epam/material/tests/feedback/BackdropTests.java +++ b/jdi-light-material-ui-tests/src/test/java/io/github/epam/material/tests/feedback/BackdropTests.java @@ -10,7 +10,7 @@ /** * To see an example of Backdrop web element please visit - * https://material-ui.com/components/backdrop/ + * https://v4.mui.com/components/backdrop/ */ public class BackdropTests extends TestsInit { diff --git a/jdi-light-material-ui-tests/src/test/java/io/github/epam/material/tests/layout/BoxTests.java b/jdi-light-material-ui-tests/src/test/java/io/github/epam/material/tests/layout/BoxTests.java deleted file mode 100644 index 562b3f3661..0000000000 --- a/jdi-light-material-ui-tests/src/test/java/io/github/epam/material/tests/layout/BoxTests.java +++ /dev/null @@ -1,61 +0,0 @@ -package io.github.epam.material.tests.layout; - -import static io.github.com.StaticSite.boxPage; -import static io.github.com.pages.layout.BoxPage.buttonContainedBox; -import static io.github.com.pages.layout.BoxPage.buttonDisabledBox; -import static io.github.com.pages.layout.BoxPage.buttonOutlinedBox; -import static io.github.com.pages.layout.BoxPage.lastClickContent; - -import io.github.epam.TestsInit; -import io.github.epam.enums.Colors; -import org.testng.annotations.BeforeMethod; -import org.testng.annotations.Test; - -/** - * To see an example of Box web element please visit - * https://material-ui.com/components/box/ - */ - -public class BoxTests extends TestsInit { - - @BeforeMethod - public void before() { - boxPage.open(); - boxPage.isOpened(); - } - - @Test - public void containedBoxTest() { - buttonContainedBox.is().displayed() - .and().has().text("FIRST BUTTON") - .and().cssClass("MuiButton-containedPrimary") - .and().has().css("background-color", Colors.INDIGO_500.rgba()); - - buttonContainedBox.click(); - lastClickContent.has().text("You clicked First button"); - } - - @Test - public void outlinedBoxTest() { - buttonOutlinedBox.is().displayed() - .and().has().text("SECOND BUTTON") - .and().cssClass("MuiButton-outlinedSecondary") - .and().css("color", Colors.PINK_A400.rgba()) - .and().css("border-style", "solid") - .and().css("border-color", Colors.PINK_A400_TRANSPARENT.rgba()); - - buttonOutlinedBox.click(); - lastClickContent.has().text("You clicked Second button"); - } - - @Test - public void disabledBoxTest() { - buttonDisabledBox.is().displayed() - .and().has().text("THIRD BUTTON") - .and().cssClass("Mui-disabled") - .and().is().disabled(); - - buttonDisabledBox.core().click(0, 0); - lastClickContent.is().text("You clicked Third button"); - } -} diff --git a/jdi-light-material-ui-tests/src/test/java/io/github/epam/material/tests/surfaces/AccordionTests.java b/jdi-light-material-ui-tests/src/test/java/io/github/epam/material/tests/surfaces/AccordionTests.java index 43e9baa586..d9c4b079e5 100644 --- a/jdi-light-material-ui-tests/src/test/java/io/github/epam/material/tests/surfaces/AccordionTests.java +++ b/jdi-light-material-ui-tests/src/test/java/io/github/epam/material/tests/surfaces/AccordionTests.java @@ -14,7 +14,7 @@ /** * To see an example of Accordion web element please visit - * https://mui.com/components/accordion/ + * https://v4.mui.com/components/accordion/ */ public class AccordionTests extends TestsInit { diff --git a/jdi-light-material-ui-tests/src/test/java/io/github/epam/material/tests/surfaces/CardTests.java b/jdi-light-material-ui-tests/src/test/java/io/github/epam/material/tests/surfaces/CardTests.java index 1bf5a85494..825f7e15c4 100644 --- a/jdi-light-material-ui-tests/src/test/java/io/github/epam/material/tests/surfaces/CardTests.java +++ b/jdi-light-material-ui-tests/src/test/java/io/github/epam/material/tests/surfaces/CardTests.java @@ -47,7 +47,8 @@ public void complexCardTest() { .has().subHeader(containsString("September 14, 2016")); complexCardImage.is().displayed() - .has().css("background-image", "url(\"https://mui.com/static/images/cards/paella.jpg\")"); + .has().css("background-image", + "url(\"https://mui.com/static/images/cards/paella.jpg\")"); complexCard.textUnderImage().has().text(containsString("paella is a perfect party dish")); complexCard.addToFavoritesButton().click(); diff --git a/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/asserts/feedback/LinearProgressAssert.java b/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/asserts/feedback/LinearProgressAssert.java index 00a885da15..8dddb78683 100644 --- a/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/asserts/feedback/LinearProgressAssert.java +++ b/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/asserts/feedback/LinearProgressAssert.java @@ -15,7 +15,7 @@ public class LinearProgressAssert extends ProgressAssertLinear buffer MUI documentation + * @see Linear buffer MUI documentation */ @JDIAction(value = "Assert that '{name}' is linear buffer", isAssert = true) public LinearProgressAssert buffer() { diff --git a/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/displaydata/Avatar.java b/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/displaydata/Avatar.java index fbf7ce7ecb..6d987fc019 100644 --- a/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/displaydata/Avatar.java +++ b/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/displaydata/Avatar.java @@ -14,7 +14,7 @@ /** * Represents avatar MUI component on GUI. * - * @see Avatar MUI documentation + * @see Avatar MUI documentation * @see MUI test page */ public class Avatar extends UIBaseElement implements HasImage, HasClick, IsText, HasIcon { diff --git a/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/displaydata/Badge.java b/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/displaydata/Badge.java index 5175ddeef0..109ceca653 100644 --- a/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/displaydata/Badge.java +++ b/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/displaydata/Badge.java @@ -12,7 +12,7 @@ /** * Represents badge MUI component on GUI. * - * @see Badge MUI documentation + * @see Badge MUI documentation * @see MUI test page */ public class Badge extends UIBaseElement implements IsText, HasPosition, HasIcon { diff --git a/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/displaydata/Chip.java b/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/displaydata/Chip.java index a2e99f95e8..f8521091a0 100644 --- a/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/displaydata/Chip.java +++ b/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/displaydata/Chip.java @@ -16,7 +16,7 @@ * Represent chip MUI component on GUI. Chips allow users to enter information, make selections, * filter content, or trigger actions. * - * @see Chip MUI documentation + * @see Chip MUI documentation * @see MUI test page */ public class Chip extends UIBaseElement implements HasClick, CanBeDisabled, HasLabel, HasColor { diff --git a/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/displaydata/Divider.java b/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/displaydata/Divider.java index 1bcb478631..acc7ceb5bc 100644 --- a/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/displaydata/Divider.java +++ b/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/displaydata/Divider.java @@ -7,7 +7,7 @@ /** * Represents divider MUI component on GUI * - * @see Divider MUI documentation + * @see Divider MUI documentation * @see MUI test page */ public class Divider extends UIBaseElement { diff --git a/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/displaydata/Icon.java b/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/displaydata/Icon.java index e188987d6f..9af4b03ca7 100644 --- a/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/displaydata/Icon.java +++ b/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/displaydata/Icon.java @@ -8,7 +8,7 @@ /** * Represents icon MUI component on GUI. * - * @see Icon MUI documentation + * @see Icon MUI documentation * @see MUI test page */ public class Icon extends UIBaseElement implements HasClick, CanBeDisabled { diff --git a/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/displaydata/Tooltip.java b/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/displaydata/Tooltip.java index f7213aa3b9..0419774a9a 100644 --- a/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/displaydata/Tooltip.java +++ b/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/displaydata/Tooltip.java @@ -9,7 +9,7 @@ /** * Represents tooltip MUI component on GUI. * - * @see Tooltip MUI documentation + * @see Tooltip MUI documentation * @see MUI test page */ public class Tooltip extends UIBaseElement { @@ -48,7 +48,7 @@ public TooltipAssert is() { * Checks if tooltip is interactive or not. Interactive tooltip doesn't close when the user hovers over it. * * @return {@code true} if this tooltip interactive, otherwise {@code false} - * @see Interactive tooltips + * @see Interactive tooltips */ @JDIAction("Check that '{name}' is interactive") public boolean isInteractive() { diff --git a/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/displaydata/Typography.java b/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/displaydata/Typography.java index 380678ba47..b0cdaf2114 100644 --- a/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/displaydata/Typography.java +++ b/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/displaydata/Typography.java @@ -8,7 +8,7 @@ /** * Represents typography MUI component on GUI. * - * @see Typography MUI documentation + * @see Typography MUI documentation * @see MUI test page */ public class Typography extends UIBaseElement implements IsText, StyledText { diff --git a/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/feedback/Alert.java b/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/feedback/Alert.java index f93f90b302..68222609bf 100644 --- a/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/feedback/Alert.java +++ b/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/feedback/Alert.java @@ -13,7 +13,7 @@ /** * Represents alert MUI component on GUI. * - * @see Alert MUI documentation + * @see Alert MUI documentation * @see MUI test page */ public class Alert extends UIBaseElement implements HasIcon { diff --git a/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/feedback/Backdrop.java b/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/feedback/Backdrop.java index 0856a112ae..b72dde7ca3 100644 --- a/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/feedback/Backdrop.java +++ b/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/feedback/Backdrop.java @@ -7,7 +7,7 @@ /** * Represents Backdrop MUI component on GUI. * - * @see Backdrop MUI documentation + * @see Backdrop MUI documentation * @see MUI test page */ public class Backdrop extends UIBaseElement implements HasClick { diff --git a/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/feedback/Snackbar.java b/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/feedback/Snackbar.java index e5fe76682f..35412fe86c 100644 --- a/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/feedback/Snackbar.java +++ b/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/feedback/Snackbar.java @@ -18,7 +18,7 @@ * Snackbar appears at the touch of a button and provides brief notifications. * Notifications can provide error, warning, information or success message. * - * @see Snackbar MUI documentation + * @see Snackbar MUI documentation * @see MUI test page */ diff --git a/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/feedback/progress/CircularProgress.java b/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/feedback/progress/CircularProgress.java index 4a57d6d27f..25ab5349b5 100644 --- a/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/feedback/progress/CircularProgress.java +++ b/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/feedback/progress/CircularProgress.java @@ -8,7 +8,7 @@ /** * Represents circular progress MUI component on GUI. * - * @see Circular Progress MUI documentation + * @see Circular Progress MUI documentation * @see MUI test page */ public class CircularProgress extends Progress> { diff --git a/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/feedback/progress/LinearProgress.java b/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/feedback/progress/LinearProgress.java index 6aca3daecc..b210f8415b 100644 --- a/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/feedback/progress/LinearProgress.java +++ b/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/feedback/progress/LinearProgress.java @@ -12,7 +12,7 @@ /** * Represents linear progress MUI component on GUI. * - * @see Linear Progress MUI documentation + * @see Linear Progress MUI documentation * @see MUI test page */ public class LinearProgress extends Progress { @@ -32,7 +32,7 @@ public class LinearProgress extends Progress { * It might indicate some activity or loading from the server. * * @return {@code true} if the progress is linear buffer, otherwise {@code false} - * @see Linear buffer MUI documentation + * @see Linear buffer MUI documentation */ @JDIAction("Check that '{name}' is linear buffer") public boolean isBuffer() { diff --git a/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/feedback/progress/Progress.java b/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/feedback/progress/Progress.java index 570007398d..9dd49d737d 100644 --- a/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/feedback/progress/Progress.java +++ b/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/feedback/progress/Progress.java @@ -18,7 +18,7 @@ /** * Represents progress MUI component on GUI. * - * @see Progress MUI documentation + * @see Progress MUI documentation * @see MUI test page */ public abstract class Progress> extends UIBaseElement diff --git a/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/inputs/Adornment.java b/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/inputs/Adornment.java index 2640a242f8..0b04d3ba80 100644 --- a/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/inputs/Adornment.java +++ b/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/inputs/Adornment.java @@ -13,7 +13,7 @@ * Adornment can be used to add a prefix, a suffix, or an action to an input. * For example, it can be an icon button that hides or reveals the password. * - * @see InputAdornment API MUI documentation + * @see InputAdornment API MUI documentation */ public class Adornment extends UIBaseElement implements IsButton, HasPosition { diff --git a/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/inputs/ButtonGroup.java b/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/inputs/ButtonGroup.java index 6f864e0970..946d0b9d7f 100644 --- a/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/inputs/ButtonGroup.java +++ b/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/inputs/ButtonGroup.java @@ -11,7 +11,7 @@ /** * Represents button group MUI component on GUI. * - * @see Button group MUI documentation + * @see Button group MUI documentation * @see MUI test page */ public class ButtonGroup extends UIListBase { diff --git a/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/inputs/Checkbox.java b/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/inputs/Checkbox.java index 2633f9ddb5..be57fe11ba 100644 --- a/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/inputs/Checkbox.java +++ b/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/inputs/Checkbox.java @@ -17,7 +17,7 @@ /** * Represents Checkbox MUI component on GUI. Checkboxes allow the user to select one or more items from a set. * - * @see Checkbox MUI documentation + * @see Checkbox MUI documentation * @see MUI test page */ public class Checkbox extends UIBaseElement implements HasClick, HasLabel, CanBeDisabled, HasColor { diff --git a/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/inputs/Switch.java b/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/inputs/Switch.java index 3f142e1446..14f9b7f080 100644 --- a/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/inputs/Switch.java +++ b/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/inputs/Switch.java @@ -13,7 +13,7 @@ * Represent switch MUI component on GUI. Switches toggle the state of a single setting on or off ('checked' and * 'unchecked' states respectively). * - * @see Switch MUI documentation + * @see Switch MUI documentation * @see MUI test page */ public class Switch extends UIBaseElement implements HasClick, HasLabel, CanBeDisabled, HasColor { diff --git a/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/inputs/TextField.java b/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/inputs/TextField.java index 2fe2fe0244..0440aed5fa 100644 --- a/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/inputs/TextField.java +++ b/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/inputs/TextField.java @@ -23,7 +23,7 @@ * The TextField wrapper component is a complete form control that can contain * a label, input, helper text, placeholder and adornment. * - * @see Text Field MUI documentation + * @see Text Field MUI documentation * @see MUI test page */ public class TextField extends UIBaseElement diff --git a/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/inputs/transferlist/EnhancedTransferList.java b/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/inputs/transferlist/EnhancedTransferList.java index cb22020bad..317cef0006 100644 --- a/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/inputs/transferlist/EnhancedTransferList.java +++ b/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/inputs/transferlist/EnhancedTransferList.java @@ -9,7 +9,7 @@ * Enhanced Transfer List has only two buttons for moving items to the * left/right, when Transfer List has four buttons. * - * @see Enhanced Transfer List MUI documentation + * @see Enhanced Transfer List MUI documentation * @see MUI test page */ public class EnhancedTransferList extends TransferList { diff --git a/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/inputs/transferlist/TransferList.java b/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/inputs/transferlist/TransferList.java index 00b80be098..22076ba913 100644 --- a/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/inputs/transferlist/TransferList.java +++ b/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/inputs/transferlist/TransferList.java @@ -21,7 +21,7 @@ * to the left or right list. You can select some items and move them or * move all items at once. * - * @see Transfer List MUI documentation + * @see Transfer List MUI documentation * @see MUI test page */ public class TransferList extends UIBaseElement implements ISetup { diff --git a/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/navigation/BottomNavigation.java b/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/navigation/BottomNavigation.java index 9bcc7d67a5..d83782e5a2 100644 --- a/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/navigation/BottomNavigation.java +++ b/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/navigation/BottomNavigation.java @@ -10,7 +10,7 @@ * When a bottom navigation icon is tapped, the user is taken to the top-level navigation destination * associated with that icon. * - * @see Bottom navigation MUI documentation + * @see Bottom navigation MUI documentation * @see MUI test page */ public class BottomNavigation extends UIListBase> { diff --git a/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/navigation/Drawer.java b/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/navigation/Drawer.java index 959cd8b9a2..409f78f033 100644 --- a/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/navigation/Drawer.java +++ b/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/navigation/Drawer.java @@ -17,7 +17,7 @@ /** * Represents drawer MUI component on GUI. * - * @see Drawer MUI documentation + * @see Drawer MUI documentation * @see MUI test page */ public class Drawer extends UIBaseElement implements HasPosition { diff --git a/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/navigation/Link.java b/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/navigation/Link.java index 7b1d81f465..2966317202 100644 --- a/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/navigation/Link.java +++ b/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/navigation/Link.java @@ -11,7 +11,7 @@ /** * Represents link MUI component on GUI. * - * @see Link MUI documentation + * @see Link MUI documentation * @see MUI test page */ public class Link extends UIBaseElement implements IsText, StyledText, HasClick, HasIcon { diff --git a/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/navigation/Menu.java b/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/navigation/Menu.java index 0eeef0aa2b..fc592b7186 100644 --- a/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/navigation/Menu.java +++ b/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/navigation/Menu.java @@ -13,7 +13,7 @@ * Represents Menu MUI component on GUI. A menu displays a list of choices on a temporary surface. * It appears when the user interacts with a button, or other control. * - * @see Menu MUI documentation + * @see Menu MUI documentation * @see MUI test page */ public class Menu extends UIListBase { diff --git a/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/navigation/Tabs.java b/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/navigation/Tabs.java index a0278ba13d..5b35c7da8f 100644 --- a/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/navigation/Tabs.java +++ b/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/navigation/Tabs.java @@ -11,7 +11,7 @@ * Represents tabs MUI component on GUI. Tabs organize and allow navigation between groups of content * that are related and at the same level of hierarchy. * - * @see Tabs MUI documentation + * @see Tabs MUI documentation * @see MUI test page */ public class Tabs extends UIListBase { diff --git a/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/navigation/steppers/MUIStepper.java b/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/navigation/steppers/MUIStepper.java index b2b12ed52c..b1211b15f2 100644 --- a/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/navigation/steppers/MUIStepper.java +++ b/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/navigation/steppers/MUIStepper.java @@ -11,7 +11,7 @@ * Desktop stepper MUI component representation on GUI. It contains several steps with some content and navigation buttons. * * @see Step - * @see Stepper MUI documentation + * @see Stepper MUI documentation * @see MUI test page */ public class MUIStepper extends Stepper { diff --git a/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/navigation/steppers/MobileStepper.java b/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/navigation/steppers/MobileStepper.java index 49fd4b92e3..27e5e5e3c5 100644 --- a/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/navigation/steppers/MobileStepper.java +++ b/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/navigation/steppers/MobileStepper.java @@ -18,7 +18,7 @@ * Mobile stepper MUI component representation on GUI. It contains information about current position and two * navigation buttons: 'Back' and 'Next'. * - * @see Stepper MUI documentation + * @see Stepper MUI documentation * @see MUI test page */ public class MobileStepper extends Stepper implements ISetup { diff --git a/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/navigation/steppers/Stepper.java b/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/navigation/steppers/Stepper.java index 1bf61e257a..e03ccbe881 100644 --- a/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/navigation/steppers/Stepper.java +++ b/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/navigation/steppers/Stepper.java @@ -8,7 +8,7 @@ * Abstract stepper representation containing some typical properties and behavior patterns for all stepper types. * * @param type of {@link UIAssert} to be used with concrete stepper type - * @see Stepper MUI documentation + * @see Stepper MUI documentation * @see MUI test page */ public abstract class Stepper> extends UIBaseElement { diff --git a/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/surfaces/Accordion.java b/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/surfaces/Accordion.java index bdd8dc982f..eba8dcfe34 100644 --- a/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/surfaces/Accordion.java +++ b/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/surfaces/Accordion.java @@ -12,7 +12,7 @@ /** * Represents accordion MUI component on GUI. * - * @see Accordion MUI documentation + * @see Accordion MUI documentation * @see MUI test page */ public class Accordion extends UIBaseElement implements CanBeDisabled { diff --git a/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/surfaces/AppBar.java b/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/surfaces/AppBar.java index f6e72af8d3..36e973acee 100644 --- a/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/surfaces/AppBar.java +++ b/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/surfaces/AppBar.java @@ -14,7 +14,7 @@ /** * Represents app bar MUI component on GUI. The app bar displays information and actions relating to the current screen. * - * @see App bar MUI documentation + * @see App bar MUI documentation * @see MUI test page */ public class AppBar extends Section implements HasPosition, HasColor { diff --git a/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/surfaces/Paper.java b/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/surfaces/Paper.java index 70eeff28fa..91750d76c7 100644 --- a/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/surfaces/Paper.java +++ b/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/surfaces/Paper.java @@ -9,7 +9,7 @@ /** * Represents paper MUI component on GUI. * - * @see Paper MUI documentation + * @see Paper MUI documentation * @see MUI test page */ public class Paper extends UIBaseElement { diff --git a/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/utils/Modal.java b/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/utils/Modal.java index 1e564b66d1..d9dca4a685 100644 --- a/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/utils/Modal.java +++ b/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/utils/Modal.java @@ -10,7 +10,7 @@ /** * Represent modal MUI component on GUI. The modal component provides a solid foundation for creating dialogs, popovers, lightboxes, or whatever else. * - * @see Modal MUI documentation + * @see Modal MUI documentation * @see MUI test page */ public class Modal extends UIBaseElement implements IsText { diff --git a/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/utils/Popover.java b/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/utils/Popover.java index 296dee885c..0a1eb72324 100644 --- a/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/utils/Popover.java +++ b/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/utils/Popover.java @@ -9,7 +9,7 @@ /** * Represent popover MUI component on GUI. A Popover can be used to display some content on top of another. * - * @see popover MUI documentation + * @see popover MUI documentation * @see MUI test page */ public class Popover extends UIBaseElement implements IsText { diff --git a/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/utils/Popper.java b/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/utils/Popper.java index 6350c10b3d..507ea5629f 100644 --- a/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/utils/Popper.java +++ b/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/utils/Popper.java @@ -10,7 +10,7 @@ /** * Represent popper MUI component on GUI. A popper can be used to display some content on top of another. . * - * @see popper MUI documentation + * @see popper MUI documentation * @see MUI test page */ public class Popper extends UIBaseElement implements IsText, HasPosition { diff --git a/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/utils/Transition.java b/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/utils/Transition.java index 1b454835d0..06c4db3dcd 100644 --- a/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/utils/Transition.java +++ b/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/elements/utils/Transition.java @@ -9,7 +9,7 @@ * There are different types of transitions. Transition 'Collapse' is different from other transitions because there is * a separate class "MuiCollapse" for it. * - * @see Transition MUI documentation + * @see Transition MUI documentation * @see MUI test page */ public class Transition extends UIBaseElement { diff --git a/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/interfaces/inputs/CanBeFocused.java b/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/interfaces/inputs/CanBeFocused.java index d1d4e9e5d8..80e8d44001 100644 --- a/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/interfaces/inputs/CanBeFocused.java +++ b/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/interfaces/inputs/CanBeFocused.java @@ -6,7 +6,7 @@ /** * Represents an element that can be checked to see if it's focused. * - * @see + * @see * State classes MUI Documentation * */ diff --git a/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/interfaces/inputs/HasAdornment.java b/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/interfaces/inputs/HasAdornment.java index 146df433de..61629f70cc 100644 --- a/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/interfaces/inputs/HasAdornment.java +++ b/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/interfaces/inputs/HasAdornment.java @@ -9,7 +9,7 @@ /** * Represents an element that has an {@link Adornment}. * - * @see + * @see * State classes MUI Documentation * */ diff --git a/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/interfaces/inputs/HasHelperText.java b/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/interfaces/inputs/HasHelperText.java index f59e130b6e..dbba6aab5b 100644 --- a/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/interfaces/inputs/HasHelperText.java +++ b/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/interfaces/inputs/HasHelperText.java @@ -9,7 +9,7 @@ * Represents an element with a helper text. * Helper text gives context about an input, such as hint or error message. * - * @see FormHelperText API MUI Documentation + * @see FormHelperText API MUI Documentation */ public interface HasHelperText extends ICoreElement, IsText { diff --git a/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/interfaces/inputs/HasValidationError.java b/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/interfaces/inputs/HasValidationError.java index 3249910fd1..ccee0ff76e 100644 --- a/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/interfaces/inputs/HasValidationError.java +++ b/jdi-light-material-ui/src/main/java/com/epam/jdi/light/material/interfaces/inputs/HasValidationError.java @@ -6,7 +6,7 @@ /** * Represents an element that can have error state. * - * @see + * @see * State classes MUI Documentation * */ diff --git a/jdi-light-vuetify-tests/src/main/java/io/github/com/pages/BadgesPage.java b/jdi-light-vuetify-tests/src/main/java/io/github/com/pages/BadgesPage.java index d5f08b110c..abf723e49d 100644 --- a/jdi-light-vuetify-tests/src/main/java/io/github/com/pages/BadgesPage.java +++ b/jdi-light-vuetify-tests/src/main/java/io/github/com/pages/BadgesPage.java @@ -8,17 +8,16 @@ import java.util.List; public class BadgesPage extends VuetifyPage { - // @todo #5298 Locator to the Badge should be .v-bage, not icons, dots and avatar @UI("#simpleBadges .v-badge") public static List simpleBadges; - @UI("#customBadges .v-badge--icon") + @UI("#customBadges .v-badge.v-badge--icon") public static Badge lockUnlockAccountBadge; - @UI("#customBadges .v-badge--dot") + @UI("#customBadges .v-badge.v-badge--dot") public static Badge dotBadge; - @UI("#customBadges .v-badge--avatar") + @UI("#customBadges .v-badge.v-badge--avatar") public static Badge imageBadge; @UI("//span[contains(text(), 'Send Message')]") public static Button sendMessageButton; diff --git a/jdi-light-vuetify-tests/src/main/java/io/github/com/pages/BreadcrumbsPage.java b/jdi-light-vuetify-tests/src/main/java/io/github/com/pages/BreadcrumbsPage.java index e933b4e9b3..d816c06a6b 100644 --- a/jdi-light-vuetify-tests/src/main/java/io/github/com/pages/BreadcrumbsPage.java +++ b/jdi-light-vuetify-tests/src/main/java/io/github/com/pages/BreadcrumbsPage.java @@ -5,35 +5,34 @@ public class BreadcrumbsPage extends VuetifyPage { - // @todo #5298 locator should use .v-breadcrumbs, not ul tag - @UI("#differentDividersBreadcrumbs > ul:nth-child(1)") + @UI("#differentDividersBreadcrumbs > .v-breadcrumbs[1]") public static Breadcrumbs dashedBreadcrumbs; - @UI("#differentDividersBreadcrumbs > ul:nth-child(2)") + @UI("#differentDividersBreadcrumbs > .v-breadcrumbs[2]") public static Breadcrumbs forwardSlashedBreadcrumbs; - @UI("#differentDividersBreadcrumbs > ul:nth-child(4)") + @UI("#differentDividersBreadcrumbs > .v-breadcrumbs[4]") public static Breadcrumbs dottedBreadcrumbs; - @UI("#differentDividersBreadcrumbs > ul:nth-child(5)") + @UI("#differentDividersBreadcrumbs > .v-breadcrumbs[5]") public static Breadcrumbs semicolonBreadcrumbs; - @UI("#differentDividersBreadcrumbs > ul:nth-child(6)") + @UI("#differentDividersBreadcrumbs > .v-breadcrumbs[6]") public static Breadcrumbs greaterSignBreadcrumbs; - @UI("#largeBreadcrumbs > ul") + @UI("#largeBreadcrumbs > .v-breadcrumbs") public static Breadcrumbs largeBreadcrumbs; - @UI("#customDividersBreadcrumbs > ul:nth-child(1)") + @UI("#customDividersBreadcrumbs > .v-breadcrumbs[1]") public static Breadcrumbs mdiForwardBreadcrumbs; - @UI("#customDividersBreadcrumbs > ul:nth-child(2)") + @UI("#customDividersBreadcrumbs > .v-breadcrumbs[2]") public static Breadcrumbs mdiChevronRightBreadcrumbs; - @UI("#itemSlotBreadcrumbs > ul") + @UI("#itemSlotBreadcrumbs > .v-breadcrumbs") public static Breadcrumbs itemSlotsBreadcrumbs; - @UI("#darkThemeRippleBreadcrumbs > ul") + @UI("#darkThemeRippleBreadcrumbs > .v-breadcrumbs") public static Breadcrumbs darkThemeRippleBreadcrumbs; } diff --git a/jdi-light-vuetify-tests/src/main/java/io/github/com/pages/TreeviewPage.java b/jdi-light-vuetify-tests/src/main/java/io/github/com/pages/TreeviewPage.java index 5b6d5638f9..c0e85175d1 100644 --- a/jdi-light-vuetify-tests/src/main/java/io/github/com/pages/TreeviewPage.java +++ b/jdi-light-vuetify-tests/src/main/java/io/github/com/pages/TreeviewPage.java @@ -60,7 +60,6 @@ public class TreeviewPage extends VuetifyPage { @JDITreeView( core = "#SelectableIconsTreeview .v-treeview", full = "mdi-bookmark", - part = "mdi-bookmark-minus", not = "mdi-bookmark-outline" ) public static TreeView selectableIconsTreeView; diff --git a/jdi-light-vuetify/src/main/java/com/epam/jdi/light/vuetify/annotations/JDITreeView.java b/jdi-light-vuetify/src/main/java/com/epam/jdi/light/vuetify/annotations/JDITreeView.java index 2eda072537..6a82ab5f12 100644 --- a/jdi-light-vuetify/src/main/java/com/epam/jdi/light/vuetify/annotations/JDITreeView.java +++ b/jdi-light-vuetify/src/main/java/com/epam/jdi/light/vuetify/annotations/JDITreeView.java @@ -18,6 +18,5 @@ @MarkupLocator String checkbox() default ""; @MarkupLocator String content() default ""; @MarkupLocator String full() default ""; - @MarkupLocator String part() default ""; @MarkupLocator String not() default ""; } diff --git a/jdi-light-vuetify/src/main/java/com/epam/jdi/light/vuetify/asserts/TreeViewNodeAssert.java b/jdi-light-vuetify/src/main/java/com/epam/jdi/light/vuetify/asserts/TreeViewNodeAssert.java index 6ec187640b..b2ef63357a 100644 --- a/jdi-light-vuetify/src/main/java/com/epam/jdi/light/vuetify/asserts/TreeViewNodeAssert.java +++ b/jdi-light-vuetify/src/main/java/com/epam/jdi/light/vuetify/asserts/TreeViewNodeAssert.java @@ -72,7 +72,6 @@ public TreeViewNodeAssert notSelected() { return this; } - // @todo #5048 Check if this method is common @JDIAction(value = "Assert that '{name}' has checkbox", isAssert = true) public TreeViewNodeAssert checkbox() { jdiAssert(element().checkbox().isExist(), Matchers.is(true), "TreeViewNode has no checkbox"); @@ -91,12 +90,6 @@ public TreeViewNodeAssert fullyMarked() { return this; } - @JDIAction(value = "Assert that '{name}' is partly marked", isAssert = true) - public TreeViewNodeAssert isPartlyMarked() { - jdiAssert(element().isPartlyMarked(), Matchers.is(true), "TreeViewNode is not partly marked"); - return this; - } - @JDIAction(value = "Assert that '{name}' is not marked", isAssert = true) public TreeViewNodeAssert notMarked() { jdiAssert(element().isNotMarked(), Matchers.is(true), "TreeViewNode is marked"); diff --git a/jdi-light-vuetify/src/main/java/com/epam/jdi/light/vuetify/elements/complex/TreeView.java b/jdi-light-vuetify/src/main/java/com/epam/jdi/light/vuetify/elements/complex/TreeView.java index 52ae7e402c..91c2970c51 100644 --- a/jdi-light-vuetify/src/main/java/com/epam/jdi/light/vuetify/elements/complex/TreeView.java +++ b/jdi-light-vuetify/src/main/java/com/epam/jdi/light/vuetify/elements/complex/TreeView.java @@ -27,7 +27,6 @@ public class TreeView extends UIBaseElement implements protected static String nodesInCoreLocator = "./*[contains(@class, 'v-treeview-node')]"; protected static String nodesAllLocator = ".v-treeview-node"; protected static String checkboxFullyMarkedClass = "mdi-checkbox-marked"; - protected static String checkboxPartlyMarkedClass = "mdi-minus-box"; protected static String checkboxNotMarkedClass = "mdi-checkbox-blank-outline"; protected static String nodesInNodeLocator = @@ -48,6 +47,8 @@ public void setup(Field field) { thisParent = true; } + // @todo #5322 New locator affects all classes, as they change static values + // Should be fixed to use instance variables private void initializeLocators(JDITreeView annotation) { if (!annotation.core().isEmpty()) { setCore(TreeView.class, $(annotation.core())); @@ -64,9 +65,6 @@ private void initializeLocators(JDITreeView annotation) { if (!annotation.full().isEmpty()) { checkboxFullyMarkedClass = annotation.full(); } - if (!annotation.part().isEmpty()) { - checkboxPartlyMarkedClass = annotation.part(); - } if (!annotation.not().isEmpty()) { checkboxNotMarkedClass = annotation.not(); } diff --git a/jdi-light-vuetify/src/main/java/com/epam/jdi/light/vuetify/elements/complex/TreeViewNode.java b/jdi-light-vuetify/src/main/java/com/epam/jdi/light/vuetify/elements/complex/TreeViewNode.java index 7d2fdf2ee2..a0d52d391b 100644 --- a/jdi-light-vuetify/src/main/java/com/epam/jdi/light/vuetify/elements/complex/TreeViewNode.java +++ b/jdi-light-vuetify/src/main/java/com/epam/jdi/light/vuetify/elements/complex/TreeViewNode.java @@ -63,11 +63,6 @@ public boolean isFullyMarked() { return checkbox().hasClass(TreeView.checkboxFullyMarkedClass); } - @JDIAction("Get if '{name}' is partly marked") - public boolean isPartlyMarked() { - return checkbox().hasClass(TreeView.checkboxPartlyMarkedClass); - } - @JDIAction("Get if '{name}' is not marked") public boolean isNotMarked() { return checkbox().hasClass(TreeView.checkboxNotMarkedClass);