{"id":37030022,"url":"https://github.com/abagabagon/verifico","last_synced_at":"2026-01-14T03:38:30.825Z","repository":{"id":40452180,"uuid":"183161076","full_name":"abagabagon/verifico","owner":"abagabagon","description":"Web Test Automation Library","archived":false,"fork":false,"pushed_at":"2022-12-14T20:56:12.000Z","size":818,"stargazers_count":1,"open_issues_count":16,"forks_count":1,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-07-05T08:02:56.675Z","etag":null,"topics":["appium","automated-testing","extent-reports","mariadb","mssql","mysql","rest-api","selenium","testrail"],"latest_commit_sha":null,"homepage":"https://abagabagon.github.io/verifico/","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/abagabagon.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-04-24T06:18:34.000Z","updated_at":"2022-06-13T03:43:09.000Z","dependencies_parsed_at":"2022-09-02T12:31:24.951Z","dependency_job_id":null,"html_url":"https://github.com/abagabagon/verifico","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/abagabagon/verifico","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abagabagon%2Fverifico","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abagabagon%2Fverifico/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abagabagon%2Fverifico/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abagabagon%2Fverifico/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/abagabagon","download_url":"https://codeload.github.com/abagabagon/verifico/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abagabagon%2Fverifico/sbom","scorecard":{"id":159790,"data":{"date":"2025-08-11","repo":{"name":"github.com/abagabagon/verifico","commit":"25493108687b647dc412f2a8b562edcc450fad2f"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":2.5,"checks":[{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/maven.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"SAST","score":0,"reason":"no SAST tool detected","details":["Warn: no pull requests merged into dev branch"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Code-Review","score":0,"reason":"Found 0/30 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/maven.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/abagabagon/verifico/maven.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/maven.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/abagabagon/verifico/maven.yml/master?enable=pin","Info:   0 out of   2 GitHub-owned GitHubAction dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE.md:0","Info: FSF or OSI recognized license: Apache License 2.0: LICENSE.md:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Vulnerabilities","score":0,"reason":"57 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-h46c-h94j-95f3","Warn: Project is vulnerable to: GHSA-wf8f-6423-gfxg","Warn: Project is vulnerable to: GHSA-288c-cq4h-88gq","Warn: Project is vulnerable to: GHSA-3x8x-79m2-3w2w","Warn: Project is vulnerable to: GHSA-57j2-w4cx-62h2","Warn: Project is vulnerable to: GHSA-jjjh-jjxp-wpff","Warn: Project is vulnerable to: GHSA-rgv9-q543-rqg4","Warn: Project is vulnerable to: GHSA-5mg8-w23w-74h3","Warn: Project is vulnerable to: GHSA-7g45-4rm6-3mm3","Warn: Project is vulnerable to: GHSA-4gg5-vx3j-xwc7","Warn: Project is vulnerable to: GHSA-735f-pc8j-v9w8","Warn: Project is vulnerable to: GHSA-77rm-9x9h-xj3g","Warn: Project is vulnerable to: GHSA-g5ww-5jh7-63cx","Warn: Project is vulnerable to: GHSA-h4h5-3hr4-j3g2","Warn: Project is vulnerable to: GHSA-wrvw-hg22-4m67","Warn: Project is vulnerable to: GHSA-w33c-445m-f8w7","Warn: Project is vulnerable to: GHSA-wxr5-93ph-8wr9","Warn: Project is vulnerable to: GHSA-78wr-2p64-hpwj","Warn: Project is vulnerable to: GHSA-pwm3-776c-8q7q","Warn: Project is vulnerable to: GHSA-269q-hmxg-m83q","Warn: Project is vulnerable to: GHSA-5jpm-x58v-624v","Warn: Project is vulnerable to: GHSA-389x-839f-4rhx","Warn: Project is vulnerable to: GHSA-xq3w-v528-46rv","Warn: Project is vulnerable to: GHSA-6mjq-h674-j845","Warn: Project is vulnerable to: GHSA-269g-pwp5-87pp","Warn: Project is vulnerable to: GHSA-g76j-4cxx-23h9","Warn: Project is vulnerable to: GHSA-m6vm-37g8-gqvh","Warn: Project is vulnerable to: GHSA-4265-ccf5-phj5","Warn: Project is vulnerable to: GHSA-4g9r-vxhx-9pgx","Warn: Project is vulnerable to: GHSA-j288-q9x7-2f5v","Warn: Project is vulnerable to: GHSA-gmg8-593g-7mv3","Warn: Project is vulnerable to: GHSA-mfj5-cf8g-g2fv","Warn: Project is vulnerable to: GHSA-6xx3-rg99-gc3p","Warn: Project is vulnerable to: GHSA-8xfc-gm6g-vgpv","Warn: Project is vulnerable to: GHSA-hr8g-6v94-x4m9","Warn: Project is vulnerable to: GHSA-v435-xc8x-wvr9","Warn: Project is vulnerable to: GHSA-wjxj-5m7g-mg7q","Warn: Project is vulnerable to: GHSA-2qp4-g3q3-f92w","Warn: Project is vulnerable to: GHSA-cqj8-47ch-rvvq","Warn: Project is vulnerable to: GHSA-36p3-wjmg-h94x","Warn: Project is vulnerable to: GHSA-hh26-6xwr-ggv7","Warn: Project is vulnerable to: GHSA-4gc7-5j7h-4qph","Warn: Project is vulnerable to: GHSA-4wp7-92pw-q264","Warn: Project is vulnerable to: GHSA-g5mm-vmx4-3rg7","Warn: Project is vulnerable to: GHSA-558x-2xjg-6232","Warn: Project is vulnerable to: GHSA-564r-hj7v-mcr5","Warn: Project is vulnerable to: GHSA-9cmq-m9j5-mvww","Warn: Project is vulnerable to: GHSA-wxqc-pxw9-g2p8","Warn: Project is vulnerable to: GHSA-rc2q-x9mf-w3vf","Warn: Project is vulnerable to: GHSA-6phf-6h5g-97j2","Warn: Project is vulnerable to: GHSA-3mc7-4q67-w48m","Warn: Project is vulnerable to: GHSA-98wm-3w3q-mw94","Warn: Project is vulnerable to: GHSA-9w3m-gqgf-c4p9","Warn: Project is vulnerable to: GHSA-c4r9-r8fh-9vj2","Warn: Project is vulnerable to: GHSA-hhhw-99gj-p3c3","Warn: Project is vulnerable to: GHSA-mjmj-j48q-9wg2","Warn: Project is vulnerable to: GHSA-w37g-rhq8-7m4j"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-16T13:01:21.406Z","repository_id":40452180,"created_at":"2025-08-16T13:01:21.406Z","updated_at":"2025-08-16T13:01:21.406Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28408850,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T01:52:23.358Z","status":"online","status_checked_at":"2026-01-14T02:00:06.678Z","response_time":107,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["appium","automated-testing","extent-reports","mariadb","mssql","mysql","rest-api","selenium","testrail"],"created_at":"2026-01-14T03:38:30.124Z","updated_at":"2026-01-14T03:38:30.806Z","avatar_url":"https://github.com/abagabagon.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) [![Maven Central](https://img.shields.io/maven-central/v/com.github.abagabagon/verifico.svg?label=Maven%20Central)](https://search.maven.org/search?q=g:%22com.github.abagabagon%22%20AND%20a:%22verifico%22)\n\n# **Background**\nOne of the disadvantages of Selenium and Appium is the steep learning curve required for users to be able to implement it. One also have to go over issues such as automation test flakiness, unhandled exceptions, etc. so they could learn how to properly implement commands of Selenium and Appium. The project is built in order to eliminate this issue.\n\n# **Components**\n\n| Component         | Java API                                                                                                       |\n| ----------------- | -------------------------------------------------------------------------------------------------------------- |\n| Web Automation    | [Selenium](https://www.seleniumhq.org/download/)                                                               |\n| Mobile Automation | [Appium](http://appium.io/)                                                                                    |\n| Logging Tool      | [Log4J2](https://logging.apache.org/log4j/2.0/download.html)                                                   |\n| Reporting Tool    | [ExtentReports](http://relevantcodes.com/extentreports-for-selenium/)                                          |\n| Excel             | [Apache POI](https://poi.apache.org/download.html)                                                             |\n| MySQL             | [MySQL Connector](https://dev.mysql.com/doc/connectors/en/)                                                    |\n| MSSQL             | [MSSQL Connector](https://docs.microsoft.com/en-us/sql/connect/sql-connection-libraries?view=sql-server-ver15) |\n| MariaDB           | [MariaDB Connector](https://mariadb.com/docs/connect/programming-languages/java/)                              |\n\n# **Web Automation**\n\nFor Web Application Automation, create an instance of the `WebDriverFactory` Class to initialize and get WebDrivers:\n\n```java\nWebDriverFactory driverFactory = new WebDriverFactory();\ndriverFactory.setChromeDriver();\nWebDriver driver = driverFactory.getChromeDriver();\n```\n\nSupported WebDrivers are as follows\n* Google Chrome\n* Mozilla Firefox\n* Safari\n* Microsoft Edge\n* Internet Explorer\n\nWait Commands are also available at the `WaitCommands` Class by which functions are utilized by other Automation Command Classes. User will only need to initialize Implicit and Explict Waits. The instance of the `WaitCommands` Class will be utilized by Automation Command Classes which are discussed on below other sections.\n\n```\nint implicitWaitDuration = 10;\nint explicitWaitDuration = 5;\nWaitCommands wait = new WaitCommands(driver, implicitWaitDuration, explicitWaitDuration);\n```\n\nWeb Application Automation Commands are accessible into classes from which related commands are grouped. Note that for commands that manipulates Web Elements, variations of the commands are created to accommodate actions for target Web Elements that are nested (e. g. tables, lists, etc.). Available Command Classes are shown below:\n\n## **Browser Commands**\n\nBrowser Commands contains functions relating to actions being done by the user at the Web Browser. Class name for this is `BrowserCommands`.\n\n`BrowserCommands` Class can be instantiated below using the instantiated `WebDriverFactory` and `WaitCommands`:\n\n```java\nBrowserCommands browser = new BrowserCommands(driver, wait);\nbrowser.goTo(\"https://www.google.com/\");\nbrowser.maximize();\nbrowser.refresh();\n```\n\n| Command\t\t\t\t\t| Description\t\t\t\t\t\t\t\t\t\t\t\t|\n| --------------------------\t|-------------------------------------------------------------\t|\n| `openTab`\t\t\t\t\t| Opens Tab\t\t\t\t\t\t\t\t\t\t\t\t\t|\n| `goTo`\t\t\t\t\t| Navigates to the Url specified\t\t\t\t\t\t\t\t|\n| `switchTabByTitle`\t\t| Switches to a Tab based on Page Title\t\t\t\t\t\t|\n| `switchTabByURL`\t\t\t| Switches to a Tab based on Page URL\t\t\t\t\t\t\t|\n| `switchTabToOriginal`\t| Switches back to Original Tab\t\t\t\t\t\t\t\t|\n| `back`\t\t\t\t\t| Navigates one item back from the browser's history\t\t\t|\n| `forward`\t\t\t\t\t| Navigates one item forward from the browser's history\t\t|\n| `refresh`\t\t\t\t\t| Refreshes current page\t\t\t\t\t\t\t\t\t\t|\n| `maximize`\t\t\t\t| Maximizes Browser Window\t\t\t\t\t\t\t\t\t|\n| `deleteAllCookies`\t\t| Deletes all cookies\t\t\t\t\t\t\t\t\t\t|\n| `deleteCookie`\t\t\t| Deletes cookie with the specified name\t\t\t\t\t\t|\n| `scroll`\t\t\t\t\t| Scrolls Page\t\t\t\t\t\t\t\t\t\t\t\t|\n| `closeTab`\t\t\t\t| Closes Tab of a Web Browser\t\t\t\t\t\t\t\t\t|\n| `closeBrowser`\t\t\t| Closes Web Browser\t\t\t\t\t\t\t\t\t\t\t|\n| `count`\t\t\t\t\t| Counts instance of the Web Element of the specified Locator\t|\n\n## **Mouse Commands**\n\nMouse Commands contains functions pertaining to mouse actions done by a user at a Web Page. Class for this is `MouseCommands`.\n\n`MouseCommands` Class can be instantiated below using the instantiated `WebDriverFactory` and `WaitCommands` Classes:\n\n```java\nMouseCommands mouse = new MouseCommands(driver, wait);\nbrowser.goTo(\"https://www.google.com/\");\nmouse.click(By.xpath(\"//button[@name='Search']\"));\n```\n\n| Command\t\t\t| Description\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t|\n| ------------------\t| -------------------------------------------------------------------------------------------------\t|\n| `point`\t\t\t| Points mouse to the Web Element of the specified Locator.\t\t\t\t\t\t\t\t\t\t|\n| `click`\t\t\t| Clicks the Web Element of the specified Locator.\t\t\t\t\t\t\t\t\t\t\t\t|\n| `clickJS`\t\t\t| Clicks the Web Element of the specified Locator using Javascript.\t\t\t\t\t\t\t\t|\n| `clickAndHold`\t| Clicks and holds the Web Element of the specified Locator.\t\t\t\t\t\t\t\t\t\t|\n| `doubleClick`\t\t| Double-clicks the Web Element of the specified Locator.\t\t\t\t\t\t\t\t\t\t\t|\n| `dragAndDrop`\t\t| Drags a Web Element and drops it at target Web Element. Used for Elements that can be dragged.\t|\n\n## **Keyboard Commands**\n\nKeyboard Commands contains functions pertaining to keyboard actions done by a user in a Web Page. Class for this is `KeyboardCommands`.\n\n`KeyboardCommands` Class can be instantiated below using the instantiated `WebDriverFactory` and `WaitCommands` Classes:\n\n```java\nKeyboardCommands keyboard = new KeyboardCommands(driver, wait);\nbrowser.goTo(\"https://www.google.com/\");\nkeyboard.type(By.xpath(\"//input[@name='username']\"), \"user@sample.com\");\nkeyboard.type(By.xpath(\"//input[@name='password']\"), \"password123\");\n```\n\n| Command\t| Description\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t|\n| ----------\t| ------------------------------------------------------------------------------------------------------------------------------\t|\n| `type`\t| Types the specified input text to the Web Element of the specified Locator. Applicable for INPUT and TEXTAREA Web Elements.\t|\n| `press`\t| Simulates pressing of characters into the Web Element of the specified Locator.\t\t\t\t\t\t\t\t\t\t\t\t|\n| `clear`\t| Clears value of the Web Element of the specified Locator. Applicable for INPUT and TEXTAREA Web Elements.\t\t\t\t\t\t|\n\n## **Select Commands**\n\nSelect Commands contains functions pertaining to actions done by a user on drop-down elements in a Web Page. Class for this is `SelectCommands`.\n\n`SelectCommands` Class can be instantiated below using the instantiated `WebDriverFactory` and `WaitCommands` Classes:\n\n```java\nSelectCommands select = new SelectCommands(driver, wait);\nbrowser.goTo(\"https://www.google.com/\");\nselect.select(By.xpath(\"//select[@type='member-type']\"), \"Guest\");\n```\n\n| Command\t\t| Description\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t|\n| --------------\t| ------------------------------------------------------------------------\t|\n| `select`\t\t| Selects a Drop-down List Web Element Option of the specified Locator.\t|\n| `deselect`\t| De-selects a Drop-down List Web Element Option of the specified Locator.\t|\n\n## **Get Commands**\n\nGet Commands contains functions pertaining to get value actions done by a user in a Web Page. Class for this is `GetCommands`.\n\n`GetCommands` Class can be instantiated below using the instantiated `WebDriverFactory` and `WaitCommands` Classes:\n\n```java\nGetCommands get = new GetCommands(driver, wait);\nbrowser.goTo(\"https://www.google.com/\");\nString header = get.getText(By.xpath(\"//h1[@name='Login Header']\"));\n```\n\n| Command\t\t\t\t\t| Description\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t|\n| --------------------------\t| ----------------------------------------------------------------------------\t|\n| `getText`\t\t\t\t\t| Gets the text of the Web Element of the specified Locator.\t\t\t\t\t|\n| `getAttributeValue`\t\t| Gets the attribute value of the Web Element of the specified Locator.\t\t|\n| `getDropDownListValue`\t| Gets the drop-down list value of the Web Element of the specified Locator.\t|\n\n## **Alert Commands**\n\nAlert Commands contains functions pertaining to get value actions done by a user in a Web Page. Class for this is `AlertCommands`.\n\n`AlertCommands` Class can be instantiated below using the instantiated `WebDriverFactory` and `WaitCommands` Classes:\n\n```java\nAlertCommands alert = new AlertCommands(driver, wait);\nmouse.click(By.xpath(\"//input[@id='alertbtn']\"));\nalert.typeAlert(\"John\");\nalert.acceptAlert();\n```\n\n| Command\t\t| Description\t\t\t\t\t\t\t\t\t|\n| --------------\t| -----------------------------------------------\t|\n| `acceptAlert`\t| Accepts Javascript Alert\t\t\t\t\t\t|\n| `cancelAlert`\t| Cancels Javascript Alert\t\t\t\t\t\t|\n| `typeAlert`\t| Simulates typing at Javascript Alert Text Box\t|\n\n## **Value Assertions**\n\nValue Assertions contains functions pertaining to checking of values done by a user in a Web Page. Class for this is `ValueAssertions`.\n\n`ValueAssertions` Class can be instantiated below using the instantiated `WebDriverFactory` and `WaitCommands` Classes:\n\n```java\nValueAssertions value = new ValueAssertions(driver, wait);\nbrowser.goTo(\"https://www.google.com/\");\nAssert.assertTrue(value.seeUrl(\"https://www.google.com/\"));\nkeyboard.type(By.xpath(\"//input[@id='search-box']\"), \"verifico\");\nAssert.assertTrue(value.seeAttributeValue(By.xpath(\"//input[@id='search-box']\"), \"value\", \"verifico\"));\n```\n\n| Command\t\t\t\t\t\t\t| Description\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t|\n| -----------------------------------\t| --------------------------------------------------------------------------------------------------------------------------\t|\n| `seeUrl`\t\t\t\t\t\t\t| Verifies Page URL of Web Page if equal to the expected URL.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t|\n| `dontSeeUrl`\t\t\t\t\t\t| Verifies Page URL of Web Page if not equal to the specified URL.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t|\n| `seePartialUrl`\t\t\t\t\t| Verifies Page URL of Web Page if partially equal to the expected URL.\t\t\t\t\t\t\t\t\t\t\t\t\t|\n| `dontSeePartialUrl`\t\t\t\t| Verifies Page URL of Web Page if not partially equal to the expected URL.\t\t\t\t\t\t\t\t\t\t\t\t|\n| `seeTitle`\t\t\t\t\t\t| Verifies Page Title of Web Page if equal to the expected Title.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t|\n| `dontSeeTitle`\t\t\t\t\t| Verifies Page Title of Web Page if not equal to the specified Title.\t\t\t\t\t\t\t\t\t\t\t\t\t\t|\n| `seePartialTitle`\t\t\t\t\t| Verifies Page Title of Web Page if partially equal to the expected Title.\t\t\t\t\t\t\t\t\t\t\t\t|\n| `dontSeePartialTitle`\t\t\t| Verifies Page Title of Web Page if not partially equal to the specified Title.\t\t\t\t\t\t\t\t\t\t\t|\n| `seeAttributeValue`\t\t\t\t| Verifies the attribute value of the Web Element of the specified Locator if equal to the expected value.\t\t\t\t\t|\n| `dontSeeAttributeValue`\t\t\t| Verifies the attribute value of the Web Element of the specified Locator if not equal to the expected value.\t\t\t\t|\n| `seePartialAttributeValue`\t\t| Verifies the attribute value of the Web Element of the specified Locator if partially equal to the expected value.\t\t\t|\n| `dontSeePartialAttributeValue`\t| Verifies the attribute value of the Web Element of the specified Locator if not partially equal to the expected value.\t\t|\n| `seeText`\t\t\t\t\t\t\t| Verifies the text value of the Web Element of the specified Locator if equal to the expected value.\t\t\t\t\t\t|\n| `dontSeeText`\t\t\t\t\t\t| Verifies the text value of the Web Element of the specified Locator if not equal to the expected value.\t\t\t\t\t|\n| `seePartialText`\t\t\t\t\t| Verifies the text value of the Web Element of the specified Locator if partially equal to the expected value.\t\t\t\t|\n| `dontSeePartialText`\t\t\t\t| Verifies the text value of the Web Element of the specified Locator if not partially equal to the expected value.\t\t\t|\n| `seeDropDownValue`\t\t\t\t| Verifies the dropdown value of the Web Element of the specified Locator if equal to the expected value.\t\t\t\t\t|\n| `dontSeeDropdownValue`\t\t\t| Verifies the dropdown value of the Web Element of the specified Locator if not equal to the expected value.\t\t\t\t|\n| `seePartialDropdownValue`\t\t| Verifies the dropdown value of the Web Element of the specified Locator if equal to the expected value.\t\t\t\t\t|\n| `dontSeePartialDropdownValue`\t| Verifies the dropdown value of the Web Element of the specified Locator if not partially equal to the expected value.\t\t|\n| `counted`\t\t\t\t\t\t\t| Verifies Web Element Instance count is equal to expected count.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t|\n| `seeAlertMessage`\t\t\t\t\t| Verifies Javascript Alert Message displayed if equal to expected message\t\t\t\t\t\t\t\t\t\t\t\t\t|\n\n## **State Assertions**\n\nState Assertions contains functions pertaining to checking the state of Web Elements done by a user in a Web Page. Class for this is `StateAssertions`.\n\n`StateAssertions` Class can be instantiated below using the instantiated `WebDriverFactory` and `WaitCommands` Classes:\n\n```java\nStateAssertions state = new StateAssertions(driver, wait);\nbrowser.goTo(\"https://www.practicesite.com/\");\nAssert.assertTrue(state.see(By.xpath(\"//input[@name='show-hide-text']\")));\nmouse.click(By.xpath(\"//input[@id='hide-textbox']\"));\nAssert.assertTrue(state.dontSee(By.xpath(\"//input[@name='show-hide-text']\")));\n```\n\n| Command\t\t\t| Description\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t|\n| ------------------\t| -----------------------------------------------------------------------------------------------------------------------------------------------\t|\n| `see`\t\t\t\t| Verifies if Web Element of specified Locator is displayed on Web Page.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t|\n| `dontSee`\t\t\t| Verifies if Web Element of specified Locator is not displayed on Web Page.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t|\n| `seeEnabled`\t\t| Verifies if Web Element of specified Locator is enabled on Web Page.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t|\n| `seeDisabled`\t\t| Verifies if Web Element of specified Locator is disabled on Web Page.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t|\n| `seeSelected`\t\t| Verifies if Web Element of specified Locator within the context of the Web Element of the specified Parent Locator is selected on Web Page.\t\t|\n| `seeDeselected`\t| Verifies if Web Element of specified Locator is deselected on Web Page.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t|\n\n# **Excel Data**\n\n```java\nString filePath = \"./src/resources/data/excel/staff-accounts.XLS\";\nExcelData excelData = new ExcelData(filePath);\n```\n\n# **SQL Data**\n\n```java\nString dbServer = \"127.0.0.1\";\nString dbName = \"northwind\";\nString user = \"abagabagon\";\nString password = \"ABCabc123\";\nboolean isSslUsed = true;\n\nSQLData sqlData = new SQLData(SQL.MySQL, dbServer, dbName, user, password, isSslUsed);\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabagabagon%2Fverifico","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fabagabagon%2Fverifico","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabagabagon%2Fverifico/lists"}