{"id":15174165,"url":"https://github.com/mfarisgh/selenium_faris","last_synced_at":"2026-01-24T16:38:07.004Z","repository":{"id":228150838,"uuid":"773038591","full_name":"mfarisgh/selenium_faris","owner":"mfarisgh","description":"Automation Test of OrangeHRM website using Selenium","archived":false,"fork":false,"pushed_at":"2024-08-08T11:42:46.000Z","size":287,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-11T11:38:26.473Z","etag":null,"topics":["cucumber","java","jira","lambdatest","maven","selenium","testng"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mfarisgh.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-03-16T15:18:54.000Z","updated_at":"2024-08-08T11:42:49.000Z","dependencies_parsed_at":"2024-03-23T01:40:24.991Z","dependency_job_id":"b560b8b9-9dc2-4c45-9cda-cf15c9b1f6f9","html_url":"https://github.com/mfarisgh/selenium_faris","commit_stats":null,"previous_names":["mfarisgh/selenium_faris"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mfarisgh%2Fselenium_faris","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mfarisgh%2Fselenium_faris/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mfarisgh%2Fselenium_faris/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mfarisgh%2Fselenium_faris/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mfarisgh","download_url":"https://codeload.github.com/mfarisgh/selenium_faris/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253960864,"owners_count":21990928,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["cucumber","java","jira","lambdatest","maven","selenium","testng"],"created_at":"2024-09-27T11:40:19.752Z","updated_at":"2026-01-24T16:38:06.974Z","avatar_url":"https://github.com/mfarisgh.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!-- Improved compatibility of back to top link: See: https://github.com/othneildrew/Best-README-Template/pull/73 --\u003e\n\u003ca name=\"readme-top\"\u003e\u003c/a\u003e\n\u003c!--\n*** Thanks for checking out the Best-README-Template. If you have a suggestion\n*** that would make this better, please fork the repo and create a pull request\n*** or simply open an issue with the tag \"enhancement\".\n*** Don't forget to give the project a star!\n*** Thanks again! Now go create something AMAZING! :D\n--\u003e\n\n\n\n\u003c!-- PROJECT LOGO --\u003e\n\u003cbr /\u003e\n\u003cdiv align=\"center\"\u003e\n\n\u003ch3 align=\"center\"\u003eSelenium + TestNG + Cucumber + LambdaTest + Jira\u003c/h3\u003e\n\n  \u003cp align=\"center\"\u003e\n    by M. Faris\n    \u003cbr /\u003e\n    \u003ca href=\"https://github.com/mfarisgh/selenium_faris/issues\"\u003e\u003cstrong\u003eReport Issues »\u003c/strong\u003e\u003c/a\u003e\n    \u003cbr /\u003e\n  \u003c/p\u003e\n\u003c/div\u003e\n\n\n\n\u003c!-- TABLE OF CONTENTS --\u003e\n\u003cdetails\u003e\n  \u003csummary\u003eTable of Contents\u003c/summary\u003e\n  \u003col\u003e\n    \u003cli\u003e\n      \u003ca href=\"#about-the-project\"\u003eAbout The Project\u003c/a\u003e\n      \u003cul\u003e\n        \u003cli\u003e\u003ca href=\"#built-with\"\u003eBuilt With\u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca href=\"#test-scenarios\"\u003eTest Scenarios\u003c/a\u003e\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\n      \u003ca href=\"#getting-started\"\u003eGetting Started\u003c/a\u003e\n      \u003cul\u003e\n        \u003cli\u003e\u003ca href=\"#prerequisites\"\u003ePrerequisites\u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca href=\"#running-the-automation-tests\"\u003eRunning the Automation Tests\u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca href=\"#running-the-automation-tests-using-ci\"\u003eRunning the Automation Tests using CI\u003c/a\u003e\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#contact\"\u003eContact\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#acknowledgements\"\u003eAcknowledgements\u003c/a\u003e\u003c/li\u003e\n  \u003c/ol\u003e\n\u003c/details\u003e\n\n\n\n\u003c!-- ABOUT THE PROJECT --\u003e\n## About The Project\n\nThis is a POC Java project for Automation Testing using Selenium to test OrangeHRM website. \nThe goal of this project is to demonstrate how an Automation Testing is done using various combination of tools/frameworks. \nOf course this project is not limited to its current conditions. \nYou may clone it to your own environment and customize it further with more tools/frameworks depending on your needs.\n\n* [Get to know about Automation Testing](https://www.techtarget.com/searchsoftwarequality/definition/automated-software-testing)\n* [Get to know Selenium](https://www.selenium.dev/)\n* [Get to know TestNG](https://testng.org/)\n* [Get to know Cucumber](https://cucumber.io/)\n\nOrangeHRM is an open-source human resource management (HRM) software platform. It provides a comprehensive set of HR functionalities to businesses of all sizes, including features for personnel information management, attendance tracking, leave management, performance evaluation, and other HR-related tasks.\n\n* [Get to know OrangeHRM](https://www.orangehrm.com/)\n* [OrangeHRM Live Demo site](https://opensource-demo.orangehrmlive.com/)\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n### Built With\n\n* Java 17\n* Maven 3\n* Selenium 4\n* Cucumber 7\n* TestNG 7\n* [Unofficial Jira Client 0.5](https://github.com/bobcarroll/jira-client)\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n### Test Scenarios\n\n* OrangeHRM Successful Login\n* OrangeHRM Failed Login\n* OrangeHRM Successful Username Search\n* OrangeHRM Failed Username Search\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\n\u003c!-- GETTING STARTED --\u003e\n## Getting Started\n\nThe following are the instructions on setting up your project locally.\nTo get a local copy up and running, follow these simple steps.\n\n### Prerequisites\n\nThe following prerequisites that you will need to get started:\n\n1. This repo of course! You may download it as a zip file or \"git clone\" it to your computer.\n2. [OpenJDK](https://adoptium.net/temurin/releases/) (I used v17 as a base).\n3. An IDE ([Eclipse](https://www.eclipse.org/downloads/) or [IntelliJ IDEA Ultimate/Community Edition](https://www.jetbrains.com/idea/download/?section=windows)).\n\nOptional\n\n4. A LambdaTest account. [Get to know LambdaTest.](https://www.lambdatest.com/)\n5. [A Jira Cloud account.](https://www.atlassian.com/try/cloud/signup?bundle=jira-software\u0026edition=free\u0026skipBundles=true)\n6. A Linux server (for usage with CI). I recommend using [VirtualBox](https://www.instructables.com/How-to-install-Linux-on-your-Windows/) for starters. You can also checkout on [AWS EC2 instances](https://aws.amazon.com/ec2/) for running CI on cloud server (you need credit card to register for them).\n7. [Jenkins](https://www.jenkins.io/doc/book/installing/linux/), if you intend to use the project with CI (I've only tested this, you may experiment with others at your own risk). [Get to know more about CI.](https://www.techtarget.com/searchsoftwarequality/definition/continuous-integration)\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n### Running the Automation Tests\n\n1. Ensure that you have extracted or git-cloned the project folder into your local computer.\n2. Open the project folder in your IDE.\n3. Look for `local.properties` in `src/test/resources`. Configure it as follows:\n   \n   ```sh\n   location=  # local or lambdatest\n   browser=chrome\n   browser.mode=  # headful or headless\n   lt.username=  # your LambdaTest username. You may leave it blank if platform used is local.\n   lt.accesskey=  # your LambdaTest access key. You may leave it blank if platform used is local. Refer here on how to get them https://www.lambdatest.com/support/docs/hyperexecute-how-to-get-my-username-and-access-key/\n   web.url=https://opensource-demo.orangehrmlive.com/\n   jira.enabled=  # true or false\n   jira.url=  # your Jira URL. Do not forget the ending slash! You may leave it blank if false.\n   jira.username=  #  your Jira username (email address). You may leave it blank if false.\n   jira.token=  # your Jira user token. You may leave it blank if false. Refer here on how to get them https://support.atlassian.com/atlassian-account/docs/manage-api-tokens-for-your-atlassian-account/\n   jira.project=  # your Jira project code. e.g. STC. You may leave it blank if false.\n   ```\n   \n4. Run the tests through the `testng.xml` file.\n5. If you use Jira and enabled Jira in `local.properties`, all the failed Test Cases will be recorded as a Bug in your Jira Backlog.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n### Running the Automation Tests using CI\n\n#### A. Jenkins\n\n1. I will be referring to the use case of Jenkins in a Linux server where the [job will run as a pipeline](https://www.jenkins.io/doc/book/pipeline/getting-started/) and not involving any Docker images.\n2. If you are not using/stating any Docker images in your pipeline, your Linux server (where Jenkins was installed or where the Jenkins job will be running) must have the following installed:\n   \n   i. OpenJDK\n   \n   ```sh\n   sudo apt install openjdk-17-jdk\n   ```\n   ii. Browser (I'll take Chrome as an example)\n   \n   ```sh\n   wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb\n   sudo apt --fix-broken install ./google-chrome-stable_current_amd64.deb\n   google-chrome --version\n   ```\n   iii. Maven\n   \n   ```sh\n   sudo apt install maven\n   ```\n3. You can refer to the sample `jenkins_pipeline_selenium.txt` to assign respective values such as the platform to be used, browser, etc. Copy the contents (in the txt file) to your Jenkins job settings -\u003e Pipeline (Pipeline script). Save and run the job.\n\n*Side note: I have tried running Jenkins in 1GB RAM and 1 core CPU Linux virtual machine using VirtualBox, it works!*\n*Although AWS EC2 Free Tier has almost the same specs (t2.micro with 1GB RAM, 1 core CPU, Linux OS), it doesn't work! No need to waste your time. It freezes on my Free Tier EC2 instances.*\n*Just get a higher paid t2 instances to be able to run Jenkins properly.*\n*[Explanation 1](https://stackoverflow.com/questions/57991172/aws-ec2-t2-micro-unlimited-jenkins-maven-very-slow-build-hangs), [Explanation 2](https://stackoverflow.com/questions/71038504/when-jenkins-job-in-running-ip-gets-frozen-and-inaccessible), [Explanation 3](https://serverfault.com/questions/932544/ec2-instance-freezes)*\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\n\u003c!-- CONTACT --\u003e\n## Contact\n\nM. Faris - [Facebook](https://fb.me/its.me.eff) - mfaris.official@gmail.com\n\nGitHub : [mfarisgh](https://github.com/mfarisgh)\n\nGitLab : [mfarisgl](https://gitlab.com/mfarisgl)\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\n\u003c!-- ACKNOWLEDGMENTS --\u003e\n## Acknowledgements\n\n* [QA Automation Expert](https://qaautomation.expert/2023/10/09/page-object-model-with-selenium-cucumber-and-testng/)\n* [selenium.dev](https://www.selenium.dev/documentation/webdriver/troubleshooting/upgrade_to_selenium_4/)\n* [Tools QA](https://toolsqa.com/testng/testng-data-provider-excel/)\n* [Shreya Bose (BrowserStack)](https://www.browserstack.com/guide/wait-commands-in-selenium-webdriver)\n* [Tim Lewis (Stack Overflow)](https://stackoverflow.com/questions/2263929/regarding-application-properties-file-and-environment-variable)\n* [Arpan Saini (Stack Overflow)](https://stackoverflow.com/questions/4501215/can-testng-run-multiple-suites)\n* [Ganesh Hegde (BrowserStack)](https://www.browserstack.com/guide/how-to-integrate-jira-with-selenium)\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\n\u003c!-- MARKDOWN LINKS \u0026 IMAGES --\u003e\n\u003c!-- https://www.markdownguide.org/basic-syntax/#reference-style-links --\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmfarisgh%2Fselenium_faris","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmfarisgh%2Fselenium_faris","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmfarisgh%2Fselenium_faris/lists"}