Skip to content
This repository has been archived by the owner on Apr 30, 2022. It is now read-only.

JMAQS: Documentation Updates #577

Open
wants to merge 14 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 37 additions & 0 deletions docs/JMAQS_1/CodeContributionSetUp.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# <img src="resources/jmaqslogo.jpg" height="32" width="32"> JMAQS Contribution Set Up Guide

---

[Git Bash](#Git Bash)
[VS Code](#VS Code)
[IntelliJ](#IntelliJ)

## Cloning

### Git Bash
1. Navigate to [https://github.com/Magenic/JMAQS](https://github.com/Magenic/JMAQS)
2. Click the **Clone or download button**
3. Copy the URL - [https://github.com/Magenic/JMAQS.git](https://github.com/Magenic/JMAQS.git)
![alt text](../resources/installationImages/MagenicJMAQS.png)
4. Open Git Bash and navigate to where you want the repo to be
5. Right click in Git Bash, paste the URL copied from GitHub, and hit enter
6. You should now have the JMAQS project in your file structure

### VS Code

#### I. If you have cloned via Git Bash
1. Click Open Folder
2. Navigate to the JMAQS folder
3. Click Select Folder

#### II. if the repo has not been cloned
1. Click the "Clone Git Repository" button
2. Click "Clone from GitHub"
3. Login to your git-hub account
(if you don't have an account, use the Git Bash instructions)
4. Type in: Magenic/JMAQS and select it in the dropdown
5. Select the location you want the repo to be



### IntelliJ
137 changes: 137 additions & 0 deletions docs/JMAQS_1/ContributionInstallation.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,137 @@
# <img src="resources/jmaqslogo.jpg" height="32" width="32"> JMAQS Contribution Installation Guide

---

## I. Cloning JMAQS Repository

JMAQS – Installation Guide via IntelliJ and GitHub

1. Navigate to [https://github.com/Magenic/JMAQS](https://github.com/Magenic/JMAQS)
2. Click the **Clone or download button**
3. Copy the URL - [https://github.com/Magenic/JMAQS.git](https://github.com/Magenic/JMAQS.git)
![alt text](../resources/installationImages/MagenicJMAQS.png)

4. Open IntelliJ (This guide is using version 2019.2.2)
Note: You can download IntelliJ Idea from: [https://www.jetbrains.com/idea/download/#section=windows](https://www.jetbrains.com/idea/download/#section=windows)
5. Click **Check out from Version Control**
6. Select **Git**
![alt text](../resources/installationImages/IntelliJ_Idea.png)

7. Paste in the JMAQS Git URL
8. Select a directory for the project
9. Click **Clone**
![alt text](../resources/installationImages/clone01.png)

10. Click **No**
![alt text](../resources/installationImages/clone02.png)


---
## II. Settings and Configurations – JMAQS Framework

1. Click **Import Project**
![alt text](../resources/installationImages/IntelliJ_Idea_Import.png)

2. Navigate to the project directory and select the **Framework** folder
3. Click **OK**
![alt text](../resources/installationImages/FileDirImport.png)

4. Select **Import project from external model**
5. Select **Maven**
6. Click **Next**
![alt text](../resources/installationImages/ImportProject.png)

7. Check **Search for projects recursively**
8. Check **Import Maven projects automatically**
9. Check **Create module groups for multi-module Maven projects**
10. Click **Next**
![alt text](../resources/installationImages/SearchProject.png)

11. Verify **com.magenic.jmaqs:jmaqs-framework** is selected
12. Click **Next**
![alt text](../resources/installationImages/jmaqsframework.png)

13. Select the project SDK
14. Click **Next**
![alt text](../resources/installationImages/projectSDK.png)

15. Verify the project name and file location
16. Click **Finish**
![alt text](../resources/installationImages/projectLocation.png)

17. When finished loading, the project structure should have Framework at the top-level:
![alt text](../resources/installationImages/FrameworkTop.png)

18. Framework expanded:
![alt text](../resources/installationImages/FrameworkExpanded.png)

---
## III. Code Style Settings - JMAQS Formatter

1. Navigate to File > **Settings**
2. Navigate to Editor > **Code Style**
3. Select the gear icon next to Scheme
4. Select Import Scheme > **Eclipse XML Profile**
![alt text](../resources/installationImages/EclipseXMLprofile.png)

5. Navigate to the project directory and select **maqs_formatter.xml**
6. Click **OK**
![alt text](../resources/installationImages/MAQSformatter.png)

7. Click **OK**
![alt text](../resources/installationImages/EclipseJMAQSbase.png)

8. A success popup should be displayed
9. Click **Apply**
![alt text](../resources/installationImages/CodeStyle.png)

####Plugins: CheckStyle-IDEA and SonarLint
1. Navigate to (File > Settings) **Plugins**
2. Enter **Checkstyle** into the search bar(Note:Make sure Marketplace tab is selected)
3. Select **CheckStyle-IDEA**
4. Click **Install**
![alt text](../resources/installationImages/plugins1.png)

5. If the Third-party Plugins Privacy Note popup is displayed, read the popup and click **Accept**
![alt text](../resources/installationImages/plugins2.png)

6. Restart IDE should be displayed next to CheckStyle-IDEA after installation
![alt text](../resources/installationImages/plugins3.png)

7. Enter **SonarLint** into the search bar
8. Select **SonarLint**
9. Click **Install**
![alt text](../resources/installationImages/InstallSonarlint.png)

10. **Restart IDE** should be displayed next to SonarLint after installation
11. Click **OK** or **Restart IDE**
![alt text](../resources/installationImages/RestartIDE.png)

12. Click **Restart**
![alt text](../resources/installationImages/RestartConfirm.png)

13. When the project has reloaded, navigate to File > **Settings**
14. Navigate to Other Settings > **Checkstyle**
15. Set the **Checkstyle version to 7.6.1**
16. Set the **Scan Scope** to **All sources (including tests)**
17. Under Configuration File, click the **+** (add) button
![alt text](../resources/installationImages/AddCheckStyle.png)

18. Click **Browse** under **Use a local Checkstyle file**
19. Navigate to the project directory, expand the Framework folder, select **maqs_checks.xml**
20. Click **OK**
![alt text](https://magenic365.sharepoint.com/sites/JMAQS/Shared%20Documents/General/Images/JMAQS_Checkstyle.png)

21. Enter a Description
22. Check **Store relative to project location**
23. Click **Next**
![alt text](../resources/installationImages/MAQScheckstyleDescription.png)

24. Click **Finish**
![alt text](../resources/installationImages/Finish.png)


25. Check the **Active** box next to the added Configuration File
26. Click **Apply**
27. Click **OK**
![alt text](../resources/installationImages/TheEnd.png)
5 changes: 5 additions & 0 deletions docs/JMAQS_1/Installation.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# <img src="resources/jmaqslogo.jpg" height="32" width="32"> JMAQS Installation Guide

---

## Adding JMAQS to your project
48 changes: 48 additions & 0 deletions docs/JMAQS_1/JMAQS-FAQ.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
# <img src="resources/jmaqslogo.ico" height="32" width="32"> JMAQS FAQ

# Open source
As of July 2020, JMAQS became fully open source.

## Template types
- Java Framework project templates - These templates are available to Magenic clients
- Appium (with tests and page object models)
- Base
- Composite (mix and match all JMAQS capabilities)
- Database
- Selenium (with tests and page object models)
- Web Service (with tests, json models and xml models)

# Base features
## Logging
- Yes, No, or On Fail and the Defaults are Log = No, LogType = Console LogLevel = INFORMATION and FileLoggerPath = Test "log" sub folder
- File Format options: txt, html, console
-
### Log Level
![The levels of logs](../resources/logleveldiagram.png)
Each log level is grouped into a hierarchy, with the highest log levels also including any messages from lower log levels in the hierarchy.
Verbose mode includes all information gathered by the logger, which includes any navigation that occurs on the page, and anytime the WebDriver attempts to find an element or interact with an element. Verbose mode will result in many, often superfluous, lines of information.
Information mode includes messages for when a WebDriver is loaded, a value is identified, an element is interacted with, or whenever the WebDriver throws an exception.
Generic mode is the default logging level. It includes performance timers, and log interactions such as when a performance timer log is saved.
Success mode will output a message anytime a soft assert is successful, or as a test ends and the test is successful.
Warning mode will output a message anytime a soft assert fails, the test is met with unexpected results, or the test configuration fails to update.
Error mode will only display messages that would fail a test. This includes a test failed, a test resulted in being inconclusive, a setup failed, or the final soft assert data contains any failed soft asserts.
Suspended mode will result in no information written to the log.

## Configuration


## Performance Measures
- The performance measures are human-readable and requires a Name, Embedded Perf tests to start at different times, Basically it tells how long the data collection took using this as a stop watch

## TestObject
- Holds test specific objects and available in all Magenic JMAQS flavors

## Waits
- GenericWait.WaitFor waits until exceptions are no longer thrown (calls the function N number of times) or GenericWait.waitUntil responds with true / false

## Customizations
- Utilizes the app.config which is Globally used information, avoids hard-coded code and you can add Key|Value custom pairs such as UserName =YOU PassWord=ABC We also allow you to use 'default'

## PhantomJS
- The PhantomJS project has been archived and Selenium support has been deprecated.
- Headless Chrome is the primary replacement for PhantomJS
146 changes: 78 additions & 68 deletions docs/JMAQS_1/_sidebar.md
Original file line number Diff line number Diff line change
@@ -1,80 +1,90 @@
- [Introduction to JMAQS ](JMAQS_1/Introduction.md)
- [Introduction to JMAQS ](../JMAQS_1/Introduction.md)

- [Installation](../JMAQS_1/ComingSoon.md)
- [Getting Started](../JMAQS_1/ComingSoon.md)

- [Installation](JMAQS_1/ComingSoon.md)
- [Getting Started](JMAQS_1/ComingSoon.md)

- Features

- i. General
- [i. Configurations](JMAQS_1/ComingSoon.md)
- [ii. Manager Store](JMAQS_1/ComingSoon.md)
- i. General
- [i. Configurations](../JMAQS_1/general/Configurations.md)
- [ii. Manager Store](../JMAQS_1/general/ManagerStore.md)

- ii. Utilities
- [i. Helper](JMAQS_1/ComingSoon.md)
- [ii. Logger](JMAQS_1/utilties/Logger.md)
- [iii. Performance](JMAQS_1/ComingSoon.md)
- ii. Utilities
- [i. Config](../JMAQS_1/utilities/helper/Config.md)
- [ii. Logger](../JMAQS_1/utilities/Logger.md)
- [iii. Performance](../JMAQS_1/utilities/Performance.md)
- [iv. Helper](../JMAQS_1/ComingSoon.md)
- [v. Generic Waits](../JMAQS_1/utilities/helper/GenericWaits.md)
- [vi. List Processor](../JMAQS_1/utilities/helper/ListProcessor.md)

- iii. Selenium
- [i. Features](JMAQS_1/selenium/SeleniumFeatures.md)
- [ii. Base Test](JMAQS_1/selenium/SeleniumBaseTest.md)
- [iii. Test Object](JMAQS_1/selenium/SeleniumTestObject.md)
- [iv. Config](JMAQS_1/selenium/SeleniumConfig.md)
- [v. Utilities](JMAQS_1/selenium/SeleniumUtilities.md)
- [vi. Driver Manager](JMAQS_1/selenium/SeleniumDriverManager.md)
- [vii. Lazy Element](JMAQS_1/ComingSoon.md)
- [viii. Find](JMAQS_1/selenium/UIFind.md)
- [ix. Waits](JMAQS_1/selenium/UIWait.md)
- [x. Event Handler](JMAQS_1/selenium/EventHandler.md)
- [xi. Action Builder](JMAQS_1/selenium/ActionBuilder.md)
- [xii. Element Handler](JMAQS_1/selenium/ElementHandler.md)
- [xiii. Web Driver Factory](JMAQS_1/selenium/WebDriverFactory.md)
- [xiv. Find Factory](JMAQS_1/selenium/UIFindFactory.md)
- [xv. Wait Factory](JMAQS_1/selenium/UIWaitFactory.md)
- [xvi. Fluent Wait Factory](JMAQS_1/selenium/FluentWaitFactory.md)
- [xvii. FAQ](JMAQS_1/selenium/SeleniumFAQ.md)
- iii. Selenium
- [i. Features](../JMAQS_1/selenium/SeleniumFeatures.md)
- [ii. Base Test](../JMAQS_1/selenium/SeleniumBaseTest.md)
- [iii. Test Object](../JMAQS_1/selenium/SeleniumTestObject.md)
- [iv. Config](../JMAQS_1/selenium/SeleniumConfig.md)
- [v. Utilities](../JMAQS_1/selenium/SeleniumUtilities.md)
- [vi. Driver Manager](../JMAQS_1/selenium/SeleniumDriverManager.md)
- [vii. Lazy Element](../JMAQS_1/ComingSoon.md)
- [viii. Find](../JMAQS_1/selenium/UIFind.md)
- [ix. Waits](../JMAQS_1/selenium/UIWait.md)
- [x. Event Handler](../JMAQS_1/selenium/EventHandler.md)
- [xi. Action Builder](../JMAQS_1/selenium/ActionBuilder.md)
- [xii. Element Handler](../JMAQS_1/selenium/ElementHandler.md)
- [xiii. Web Driver Factory](../JMAQS_1/selenium/WebDriverFactory.md)
- [xiv. Find Factory](../JMAQS_1/selenium/UIFindFactory.md)
- [xv. Wait Factory](../JMAQS_1/selenium/UIWaitFactory.md)
- [xvi. Fluent Wait Factory](../JMAQS_1/selenium/FluentWaitFactory.md)
- [xvii. FAQ](../JMAQS_1/selenium/SeleniumFAQ.md)

- iv. Appium
- [i. Features](JMAQS_1/appium/AppiumFeatures.md)
- [ii. Base Test](JMAQS_1/appium/AppiumBaseTest.md)
- [iii. Test Object](JMAQS_1/appium/AppiumTestObject.md)
- [iv. Driver Factory](JMAQS_1/appium/AppiumDriverFactory.md)
- [v. Config](JMAQS_1/appium/AppiumConfig.md)
- [vi. Utilities](JMAQS_1/appium/AppiumUtilities.md)
- [vii. Driver Manager](JMAQS_1/appium/MobileDriverManager.md)
- [viii. FAQ](JMAQS_1/appium/AppiumFAQ.md)
- iv. Appium
- [i. Features](../JMAQS_1/appium/AppiumFeatures.md)
- [ii. Base Test](../JMAQS_1/appium/AppiumBaseTest.md)
- [iii. Test Object](../JMAQS_1/appium/AppiumTestObject.md)
- [iv. Driver Factory](../JMAQS_1/appium/AppiumDriverFactory.md)
- [v. Config](../JMAQS_1/appium/AppiumConfig.md)
- [vi. Utilities](../JMAQS_1/appium/AppiumUtilities.md)
- [vii. Driver Manager](../JMAQS_1/appium/MobileDriverManager.md)
- [viii. FAQ](../JMAQS_1/appium/AppiumFAQ.md)

- v. Database
- [i. Features](JMAQS_1/database/DatabaseFeatures.md)
- [ii. Driver](JMAQS_1/database/DatabaseDriver.md)
- [iii. Config](JMAQS_1/database/DatabaseConfig.md)
- [vi. Connection Factory](JMAQS_1/database/ConnectionFactory.md)
- [v. Constants](JMAQS_1/database/Constants.md)
- [vi. Driver Manager](JMAQS_1/database/DatabaseDriverManager.md)
- [vii. Database Persistence Info](JMAQS_1/database/DatabasePersistenceUnitInfo.md)
- [viii. Providers](JMAQS_1/database/Providers.md)
- [viii. FAQ](JMAQS_1/database/DatabaseFAQ.md)
- v. Database
- [i. Features](../JMAQS_1/database/DatabaseFeatures.md)
- [ii. Driver](../JMAQS_1/database/DatabaseDriver.md)
- [iii. Config](../JMAQS_1/database/DatabaseConfig.md)
- [vi. Connection Factory](../JMAQS_1/database/ConnectionFactory.md)
- [v. Constants](../JMAQS_1/database/Constants.md)
- [vi. Driver Manager](../JMAQS_1/database/DatabaseDriverManager.md)
- [vii. Database Persistence Info](../JMAQS_1/database/DatabasePersistenceUnitInfo.md)
- [viii. Providers](../JMAQS_1/database/Providers.md)
- [viii. FAQ](../JMAQS_1/database/DatabaseFAQ.md)

- vi. WebServices JDK 8
- [i. Features](JMAQS_1/webservice/WebServiceFeatures.md)
- [ii. Base Test](JMAQS_1/webservice/WebServiceBaseTest.md)
- [iii. Test Object](JMAQS_1/webservice/WebServiceTestObject.md)
- [iv. Driver](JMAQS_1/webservice/WebServiceDriver.md)
- [v. Config](JMAQS_1/webservice/WebServiceConfig.md)
- [vi. Utilities](JMAQS_1/webservice/WebServiceUtilities.md)
- [viii. Driver Manager](JMAQS_1/webservice/WebServiceDriverManager.md)
- [ix. MediaType](JMAQS_1/webservice/MediaType.md)
- [xi. FAQ](JMAQS_1/webservice/WebServiceFAQ.md)
- vi. WebServices JDK 8
- [i. Features](../JMAQS_1/webservice/WebServiceFeatures.md)
- [ii. Base Test](../JMAQS_1/webservice/WebServiceBaseTest.md)
- [iii. Test Object](../JMAQS_1/webservice/WebServiceTestObject.md)
- [iv. Driver](../JMAQS_1/webservice/WebServiceDriver.md)
- [v. Config](../JMAQS_1/webservice/WebServiceConfig.md)
- [vi. Utilities](../JMAQS_1/webservice/WebServiceUtilities.md)
- [viii. Driver Manager](../JMAQS_1/webservice/WebServiceDriverManager.md)
- [ix. MediaType](../JMAQS_1/webservice/MediaType.md)
- [xi. FAQ](../JMAQS_1/webservice/WebServiceFAQ.md)

- vii. BaseTest
- [i. Features](JMAQS_1/base/BaseFeatures.md)
- [ii. Base Test](JMAQS_1/base/BaseTest.md)
- [iii. Test Object](JMAQS_1/base/BaseTestObject.md)
- [iv. Driver Manager](JMAQS_1/base/DriverManager.md)
- [v. Manager Dictionary](JMAQS_1/base/ManagerDictionary.md)
- [vi. Extendable Test](JMAQS_1/base/BaseExtendableTest.md)
- [vii. Base Generic Test](JMAQS_1/base/BaseGenericTest.md)
- [viii. FAQ](JMAQS_1/base/BaseFAQ.md)
- vii. BaseTest
- [i. Features](../JMAQS_1/base/BaseFeatures.md)
- [ii. Base Test](../JMAQS_1/base/BaseTest.md)
- [iii. Test Object](../JMAQS_1/base/BaseTestObject.md)
- [iv. Driver Manager](../JMAQS_1/base/DriverManager.md)
- [v. Manager Dictionary](../JMAQS_1/base/ManagerDictionary.md)
- [vi. Extendable Test](../JMAQS_1/base/BaseExtendableTest.md)
- [vii. Base Generic Test](../JMAQS_1/base/BaseGenericTest.md)
- [viii. FAQ](../JMAQS_1/base/BaseFAQ.md)

- [FAQ](JMAQS_1/ComingSoon.md)
- [License](JMAQS_1/License.md)
- vii. Accessibility
- [i. Features](../JMAQS_1/accessibility/AccessibilityFeatures.md)
- [ii. Accessibility Utilities](../JMAQS_1/accessibility/AccessibilityUtilities.md)
- [iii. HTML Reporter](../JMAQS_1/accessibility/HtmlReporter.md)


- [Contribution SetUp](../JMAQS_1/ContributionInstallation.md)
- [FAQ](../JMAQS_1/ComingSoon.md)
- [License](../JMAQS_1/License.md)
Loading