• Stars
    star
    135
  • Rank 263,496 (Top 6 %)
  • Language
    Java
  • Created about 2 years ago
  • Updated 23 days ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Test Automation Framework Selenium Java with TestNG building by Anh Tester

Open Source Love License Java CI with Maven on Windows

Test Automation Framework Selenium Java with TestNG building by Anh Tester

🔆 SOME FEATURES IN FRAMEWORK

  1. Run the parallel test case
  2. Read Config from Properties file
  3. Extent Report
  4. Allure Report
  5. Send Mail after the run test (Report information and HTML file attachment)
  6. Write Log to file
  7. Record video and Screenshot test case
  8. Read data test from Excel file (xlsx, csv, json,...)
  9. Base function in the package: utils, helpers
  10. Read data test from Json file
  11. Main Keyword: WebUI (call common function)
  12. Sample test all function in WebUI keyword
  13. Send message/report to Telegram Bot
  14. Run Selenium Grid (remote)
  15. Use DataFaker and JavaFaker to generate data
  16. Retry Failed Test in TestNG with IRetryAnalyzer and IAnnotationTransformer
  17. Javadoc for this source

✳️ SYSTEM REQUIREMENTS

image

✳️ HOW TO USE

1. Run parallel the test case

  • Run test case in suite XML (src/test/resources/suites/)

  • Run test case from Maven pom.xml file (mvn clean test)

    image

2. Read Config from Properties file

image

3. Extent Report

  • Insert "FrameworkAnnotation" as sample or None:

image

  • The base value read from Enums (src/main/java/anhtester/com/enums)
  • Setup on TestListener and BaseTest

image

  • Pdf Report

image image image

4. Allure Report

  • Open Terminal: allure serve target/allure-results

image

  • Insert @Step("title/message") above @Test or any Method in the project
  • (As sample picture above step 3)

image

image

5. Send Mail after the run test

  • Config true/false in config.properties (src/test/resources/config/config.properties)
  • send_email_to_users=true is enable send mail
  • Config mail with email and password in src/main/java/anhtester/com/mail/EmailConfig.java
  • Note: if Gmail, you use App Password

image

image

6. Write Log to file

  • Call class: Log.info , Log.pass, Log.error,... (Log is a custom global class from Log4j2) (import utils.com.anhtester.LogUtils.java)

image

7. Record video and Screenshot

  • Setup in config.properties file (src/test/resources/config/config.properties)

  • screenshot_passed_steps=yes or no

  • screenshot_failed_steps=yes or no

  • screenshot_skipped_steps=yes or no

  • screenshot_all_steps=yes or no

    image

8. Read data test from Excel file

  • Create function with annotaion DataProvider on * src/test/java/anhtester/com/projects/website/crm/dataprovider/DataProviderManager.java*
  • Read excel with Map and Hashtable

9. Base function in the package

  • src/main/java/anhtester/com/utils
  • src/main/java/anhtester/com/helpers

10. Read data test from JSON file

  • JsonUtils class select the json file path and call "get" method with key

11. Main Keyword: WebUI

  • WebUI class is main keyword in Framework. It contains common functions
  • How to use: WebUI.function_name
  • Example: WebUI.setWindowSize(1024, 768), WebUI.screenshotElement(By by, String elementName),...

12. Call function to using sample

  • All in one package: src/test/java/anhtester/com/projects/website/crm/testcases
+ ClientTest
+ SignInTest
+ TestHandle
+ TestSimpleCode

13. Send message/report to Telegram Bot

  • Setup in src/main/java/anhtester/com/report/TelegramManager.java
  • Example: src/test/java/anhtester/com/projects/website/crm/testcases/TestSimpleCode.java
  • Call in TestListener at onFinish TelegramManager.sendReportPath()

===How to get Token and start Bot===

===How to get ChatID===

"chat": {
    "id": 123456789,
    "first_name": "Anh Tester",
    "username": "anhtester",
    "type": "private"
}

14. Use Selenium Grid

Download and Install

  1. Download Selenium Grid 4: https://www.selenium.dev/downloads/

(tải bản Latest stable version)

selenium-server-4.9.0.jar (updated 21/04/2023)

  1. Set PATH for driver in Environment variables:

Follow with link: https://www.selenium.dev/documentation/webdriver/getting_started/install_drivers/#2-the-path-environment-variable

🔆 Đặt file selenium-server-4.9.0.jar vào thư mục nào đó và mở CMD tại thư mục đó lên

Run default 1 node

✅ Mở 1 Hub với 1 Node mặc định (port 4444)

java -jar selenium-server-4.9.0.jar standalone

Run multi Node

✅ Mở 1 Hub với 3 Node: (chạy 4 lệnh mở 4 CMD nhé)

java -jar selenium-server-4.9.0.jar hub

java -jar selenium-server-4.9.0.jar node --port 5556

java -jar selenium-server-4.9.0.jar node --port 6667

java -jar selenium-server-4.9.0.jar node --port 7778

📝 NOTE: Thực thi nhiều lệnh thì mở nhiều CMD

Edit Grid in Config.properties

TARGET=remote

REMOTE_URL=192.168.1.13 (url Grid của bạn)

REMOTE_PORT=4444 (port của Grid)

image

image

image

15. Use DataFaker and JavaFaker to generate data

Document DataFaker: https://www.datafaker.net/documentation/getting-started/

🔆 Project structure

📦AutomationFrameworkSelenium
 ┣ 📂.github
 ┃ ┗ 📂workflows
 ┃ ┃ ┗ 📜maven.yml
 ┣ 📂src
 ┃ ┣ 📂main
 ┃ ┃ ┣ 📂java
 ┃ ┃ ┃ ┗ 📂anhtester
 ┃ ┃ ┃ ┃ ┗ 📂com
 ┃ ┃ ┃ ┃ ┃ ┣ 📂annotations
 ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜FrameworkAnnotation.java
 ┃ ┃ ┃ ┃ ┃ ┣ 📂config
 ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜ConfigFactory.java
 ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜Configuration.java
 ┃ ┃ ┃ ┃ ┃ ┣ 📂constants
 ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜FrameworkConstants.java
 ┃ ┃ ┃ ┃ ┃ ┣ 📂driver
 ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜BrowserFactory.java
 ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜DriverManager.java
 ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜TargetFactory.java
 ┃ ┃ ┃ ┃ ┃ ┣ 📂enums
 ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜AuthorType.java
 ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜Browser.java
 ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜CategoryType.java
 ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜FailureHandling.java
 ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜Platform.java
 ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜Project.java
 ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜Target.java
 ┃ ┃ ┃ ┃ ┃ ┣ 📂exceptions
 ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜FrameworkException.java
 ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜HeadlessNotSupportedException.java
 ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜InvalidPathForExcelException.java
 ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜InvalidPathForExtentReportFileException.java
 ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜InvalidPathForFilesException.java
 ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜InvalidRemoteWebDriverURLException.java
 ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜TargetNotValidException.java
 ┃ ┃ ┃ ┃ ┃ ┣ 📂helpers
 ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜CaptureHelpers.java
 ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜DatabaseHelpers.java
 ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜ExcelHelpers.java
 ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜FileHelpers.java
 ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜Helpers.java
 ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜PropertiesHelpers.java
 ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜ScreenRecoderHelpers.java
 ┃ ┃ ┃ ┃ ┃ ┣ 📂keywords
 ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜WebUI.java
 ┃ ┃ ┃ ┃ ┃ ┣ 📂mail
 ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜EmailAttachmentsSender.java
 ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜EmailConfig.java
 ┃ ┃ ┃ ┃ ┃ ┣ 📂report
 ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜AllureManager.java
 ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜ExtentReportManager.java
 ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜ExtentTestManager.java
 ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜TelegramManager.java
 ┃ ┃ ┃ ┃ ┃ ┗ 📂utils
 ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜BrowserInfoUtils.java
 ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜DataFakerUtils.java
 ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜DataGenerateUtils.java
 ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜DateUtils.java
 ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜DecodeUtils.java
 ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜EmailSendUtils.java
 ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜IconUtils.java
 ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜JsonUtils.java
 ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜LanguageUtils.java
 ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜LocalStorageUtils.java
 ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜LogUtils.java
 ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜ObjectUtils.java
 ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜ReportUtils.java
 ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜ZipUtils.java
 ┃ ┃ ┗ 📂resources
 ┃ ┃ ┃ ┣ 📂META-INF
 ┃ ┃ ┃ ┃ ┗ 📂services
 ┃ ┃ ┃ ┃ ┃ ┗ 📜io.qameta.allure.listener.TestLifecycleListener
 ┃ ┃ ┃ ┗ 📜log4j2.properties
 ┃ ┗ 📂test
 ┃ ┃ ┣ 📂java
 ┃ ┃ ┃ ┗ 📂anhtester
 ┃ ┃ ┃ ┃ ┗ 📂com
 ┃ ┃ ┃ ┃ ┃ ┣ 📂common
 ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜BaseTest.java
 ┃ ┃ ┃ ┃ ┃ ┣ 📂dataprovider
 ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜DataProviderAddProduct.java
 ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜DataProviderManager.java
 ┃ ┃ ┃ ┃ ┃ ┣ 📂listeners
 ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜AllureListener.java
 ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜TestListener.java
 ┃ ┃ ┃ ┃ ┃ ┗ 📂projects
 ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂cms
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂admin
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂model
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📂pages
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂brands
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜BrandPage.java
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂category
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜CategoryPage.java
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂logins
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜LoginPageCMS.java
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📂products
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜AddProductPage.java
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂testcases
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜AddProductTest.java
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜CategoryTest.java
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜LoginTest.java
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜OrderTest.java
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜ProductInfoTest.java
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜ProfileTest.java
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂users
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂model
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📂pages
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂dashboard
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜DashboardPage.java
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂logins
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂order
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜OrderPage.java
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂products
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜ProductInfoPageCMS.java
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📂profiles
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜ProfilePage.java
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜CommonPageCMS.java
 ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📂crm
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂models
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜ClientModel.java
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜SignInModel.java
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂pages
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂Clients
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜ClientPageCRM.java
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂Dashboard
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜DashboardPageCRM.java
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂Projects
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜ProjectPageCRM.java
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂SignIn
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜SignInPageCRM.java
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂Tasks
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜TaskPage.java
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜CommonPageCRM.java
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📂testcases
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜ClientTest.java
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜SignInTest.java
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜TestHandle.java
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜TestSimpleCode.java
 ┃ ┃ ┗ 📂resources
 ┃ ┃ ┃ ┣ 📂config
 ┃ ┃ ┃ ┃ ┣ 📜allure.properties
 ┃ ┃ ┃ ┃ ┣ 📜config.json
 ┃ ┃ ┃ ┃ ┣ 📜config.properties
 ┃ ┃ ┃ ┃ ┗ 📜data.properties
 ┃ ┃ ┃ ┣ 📂objects
 ┃ ┃ ┃ ┃ ┗ 📜crm_locators.properties
 ┃ ┃ ┃ ┣ 📂suites
 ┃ ┃ ┃ ┃ ┣ 📜Clients-parallel.xml
 ┃ ┃ ┃ ┃ ┣ 📜Clients-simple.xml
 ┃ ┃ ┃ ┃ ┣ 📜Clients-testAddClient.xml
 ┃ ┃ ┃ ┃ ┣ 📜Clients-testSearch.xml
 ┃ ┃ ┃ ┃ ┣ 📜SignIn-parallel-methods.xml
 ┃ ┃ ┃ ┃ ┣ 📜SignIn-simple.xml
 ┃ ┃ ┃ ┃ ┗ 📜SuiteAll.xml
 ┃ ┃ ┃ ┣ 📂testdataCMS
 ┃ ┃ ┃ ┃ ┣ 📜Book1.xlsx
 ┃ ┃ ┃ ┃ ┣ 📜ChocoPie.jpg
 ┃ ┃ ┃ ┃ ┣ 📜CMS_DATA.xlsx
 ┃ ┃ ┃ ┃ ┣ 📜CocaCola.png
 ┃ ┃ ┃ ┃ ┣ 📜Cosy.png
 ┃ ┃ ┃ ┃ ┣ 📜GetProductInfo.xlsx
 ┃ ┃ ┃ ┃ ┣ 📜Login.xlsx
 ┃ ┃ ┃ ┃ ┣ 📜Nabati.jpg
 ┃ ┃ ┃ ┃ ┗ 📜quatet.jpg
 ┃ ┃ ┃ ┣ 📂testdataCRM
 ┃ ┃ ┃ ┃ ┣ 📜ClientsDataExcel.xlsx
 ┃ ┃ ┃ ┃ ┣ 📜DOCX_File_01.docx
 ┃ ┃ ┃ ┃ ┣ 📜LoginCSV.csv
 ┃ ┃ ┃ ┃ ┗ 📜TxtFileData.txt
 ┃ ┃ ┃ ┗ 📜pdf-config.json
 ┣ 📂target
 ┃ ┣ 📂classes
 ┃ ┃ ┣ 📂anhtester
 ┃ ┃ ┃ ┗ 📂com
 ┃ ┃ ┃ ┃ ┣ 📂annotations
 ┃ ┃ ┃ ┃ ┃ ┗ 📜FrameworkAnnotation.class
 ┃ ┃ ┃ ┃ ┣ 📂config
 ┃ ┃ ┃ ┃ ┃ ┣ 📜ConfigFactory.class
 ┃ ┃ ┃ ┃ ┃ ┗ 📜Configuration.class
 ┃ ┃ ┃ ┃ ┣ 📂constants
 ┃ ┃ ┃ ┃ ┃ ┗ 📜FrameworkConstants.class
 ┃ ┃ ┃ ┃ ┣ 📂driver
 ┃ ┃ ┃ ┃ ┃ ┣ 📜BrowserFactory$1.class
 ┃ ┃ ┃ ┃ ┃ ┣ 📜BrowserFactory$2.class
 ┃ ┃ ┃ ┃ ┃ ┣ 📜BrowserFactory$3.class
 ┃ ┃ ┃ ┃ ┃ ┣ 📜BrowserFactory$4.class
 ┃ ┃ ┃ ┃ ┃ ┣ 📜BrowserFactory.class
 ┃ ┃ ┃ ┃ ┃ ┣ 📜DriverManager.class
 ┃ ┃ ┃ ┃ ┃ ┗ 📜TargetFactory.class
 ┃ ┃ ┃ ┃ ┣ 📂enums
 ┃ ┃ ┃ ┃ ┃ ┣ 📜AuthorType.class
 ┃ ┃ ┃ ┃ ┃ ┣ 📜Browser.class
 ┃ ┃ ┃ ┃ ┃ ┣ 📜CategoryType.class
 ┃ ┃ ┃ ┃ ┃ ┣ 📜FailureHandling.class
 ┃ ┃ ┃ ┃ ┃ ┣ 📜Platform.class
 ┃ ┃ ┃ ┃ ┃ ┣ 📜Project.class
 ┃ ┃ ┃ ┃ ┃ ┗ 📜Target.class
 ┃ ┃ ┃ ┃ ┣ 📂exceptions
 ┃ ┃ ┃ ┃ ┃ ┣ 📜FrameworkException.class
 ┃ ┃ ┃ ┃ ┃ ┣ 📜HeadlessNotSupportedException.class
 ┃ ┃ ┃ ┃ ┃ ┣ 📜InvalidPathForExcelException.class
 ┃ ┃ ┃ ┃ ┃ ┣ 📜InvalidPathForExtentReportFileException.class
 ┃ ┃ ┃ ┃ ┃ ┣ 📜InvalidPathForFilesException.class
 ┃ ┃ ┃ ┃ ┃ ┣ 📜InvalidRemoteWebDriverURLException.class
 ┃ ┃ ┃ ┃ ┃ ┗ 📜TargetNotValidException.class
 ┃ ┃ ┃ ┃ ┣ 📂helpers
 ┃ ┃ ┃ ┃ ┃ ┣ 📜CaptureHelpers.class
 ┃ ┃ ┃ ┃ ┃ ┣ 📜DatabaseHelpers.class
 ┃ ┃ ┃ ┃ ┃ ┣ 📜ExcelHelpers.class
 ┃ ┃ ┃ ┃ ┃ ┣ 📜FileHelpers.class
 ┃ ┃ ┃ ┃ ┃ ┣ 📜Helpers.class
 ┃ ┃ ┃ ┃ ┃ ┣ 📜PropertiesHelpers.class
 ┃ ┃ ┃ ┃ ┃ ┗ 📜ScreenRecoderHelpers.class
 ┃ ┃ ┃ ┃ ┣ 📂keywords
 ┃ ┃ ┃ ┃ ┃ ┗ 📜WebUI.class
 ┃ ┃ ┃ ┃ ┣ 📂mail
 ┃ ┃ ┃ ┃ ┃ ┣ 📜EmailAttachmentsSender$1.class
 ┃ ┃ ┃ ┃ ┃ ┣ 📜EmailAttachmentsSender.class
 ┃ ┃ ┃ ┃ ┃ ┗ 📜EmailConfig.class
 ┃ ┃ ┃ ┃ ┣ 📂report
 ┃ ┃ ┃ ┃ ┃ ┣ 📜AllureManager.class
 ┃ ┃ ┃ ┃ ┃ ┣ 📜ExtentReportManager.class
 ┃ ┃ ┃ ┃ ┃ ┣ 📜ExtentTestManager.class
 ┃ ┃ ┃ ┃ ┃ ┗ 📜TelegramManager.class
 ┃ ┃ ┃ ┃ ┗ 📂utils
 ┃ ┃ ┃ ┃ ┃ ┣ 📜BrowserInfoUtils.class
 ┃ ┃ ┃ ┃ ┃ ┣ 📜DataFakerUtils.class
 ┃ ┃ ┃ ┃ ┃ ┣ 📜DataGenerateUtils.class
 ┃ ┃ ┃ ┃ ┃ ┣ 📜DateUtils.class
 ┃ ┃ ┃ ┃ ┃ ┣ 📜DecodeUtils.class
 ┃ ┃ ┃ ┃ ┃ ┣ 📜EmailSendUtils.class
 ┃ ┃ ┃ ┃ ┃ ┣ 📜IconUtils.class
 ┃ ┃ ┃ ┃ ┃ ┣ 📜JsonUtils$1.class
 ┃ ┃ ┃ ┃ ┃ ┣ 📜JsonUtils.class
 ┃ ┃ ┃ ┃ ┃ ┣ 📜LanguageUtils.class
 ┃ ┃ ┃ ┃ ┃ ┣ 📜LocalStorageUtils.class
 ┃ ┃ ┃ ┃ ┃ ┣ 📜LogUtils.class
 ┃ ┃ ┃ ┃ ┃ ┣ 📜ObjectUtils.class
 ┃ ┃ ┃ ┃ ┃ ┣ 📜ReportUtils.class
 ┃ ┃ ┃ ┃ ┃ ┗ 📜ZipUtils.class
 ┃ ┃ ┣ 📂META-INF
 ┃ ┃ ┃ ┗ 📂services
 ┃ ┃ ┃ ┃ ┗ 📜io.qameta.allure.listener.TestLifecycleListener
 ┃ ┃ ┗ 📜log4j2.properties
 ┃ ┣ 📂generated-sources
 ┃ ┃ ┗ 📂annotations
 ┃ ┣ 📂generated-test-sources
 ┃ ┃ ┗ 📂test-annotations
 ┃ ┗ 📂test-classes
 ┃ ┃ ┣ 📂anhtester
 ┃ ┃ ┃ ┗ 📂com
 ┃ ┃ ┃ ┃ ┣ 📂common
 ┃ ┃ ┃ ┃ ┃ ┗ 📜BaseTest.class
 ┃ ┃ ┃ ┃ ┣ 📂dataprovider
 ┃ ┃ ┃ ┃ ┃ ┣ 📜DataProviderAddProduct.class
 ┃ ┃ ┃ ┃ ┃ ┗ 📜DataProviderManager.class
 ┃ ┃ ┃ ┃ ┣ 📂listeners
 ┃ ┃ ┃ ┃ ┃ ┣ 📜AllureListener.class
 ┃ ┃ ┃ ┃ ┃ ┗ 📜TestListener.class
 ┃ ┃ ┃ ┃ ┗ 📂projects
 ┃ ┃ ┃ ┃ ┃ ┣ 📂cms
 ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂admin
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂model
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📂pages
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂brands
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜BrandPage.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂category
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜CategoryPage.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂logins
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜LoginPageCMS.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📂products
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜AddProductPage.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂testcases
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜AddProductTest.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜CategoryTest.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜LoginTest.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜OrderTest.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜ProductInfoTest.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜ProfileTest.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂users
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂model
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📂pages
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂dashboard
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜DashboardPage.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂logins
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂order
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜OrderPage.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂products
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜ProductInfoPageCMS.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📂profiles
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜ProfilePage.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜CommonPageCMS.class
 ┃ ┃ ┃ ┃ ┃ ┗ 📂crm
 ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂models
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜ClientModel.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜SignInModel.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂pages
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂Clients
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜ClientPageCRM.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂Dashboard
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜DashboardPageCRM.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂Projects
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜ProjectPageCRM.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂SignIn
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜SignInPageCRM.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂Tasks
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜TaskPage.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜CommonPageCRM.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📂testcases
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜ClientTest.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜SignInTest.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜TestHandle.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜TestSimpleCode.class
 ┃ ┃ ┣ 📂config
 ┃ ┃ ┃ ┣ 📜allure.properties
 ┃ ┃ ┃ ┣ 📜config.json
 ┃ ┃ ┃ ┣ 📜config.properties
 ┃ ┃ ┃ ┗ 📜data.properties
 ┃ ┃ ┣ 📂objects
 ┃ ┃ ┃ ┗ 📜crm_locators.properties
 ┃ ┃ ┣ 📂suites
 ┃ ┃ ┃ ┣ 📜Clients-parallel.xml
 ┃ ┃ ┃ ┣ 📜Clients-simple.xml
 ┃ ┃ ┃ ┣ 📜Clients-testAddClient.xml
 ┃ ┃ ┃ ┣ 📜Clients-testSearch.xml
 ┃ ┃ ┃ ┣ 📜SignIn-parallel-methods.xml
 ┃ ┃ ┃ ┣ 📜SignIn-simple.xml
 ┃ ┃ ┃ ┗ 📜SuiteAll.xml
 ┃ ┃ ┣ 📂testdataCMS
 ┃ ┃ ┃ ┣ 📜Book1.xlsx
 ┃ ┃ ┃ ┣ 📜ChocoPie.jpg
 ┃ ┃ ┃ ┣ 📜CMS_DATA.xlsx
 ┃ ┃ ┃ ┣ 📜CocaCola.png
 ┃ ┃ ┃ ┣ 📜Cosy.png
 ┃ ┃ ┃ ┣ 📜GetProductInfo.xlsx
 ┃ ┃ ┃ ┣ 📜Login.xlsx
 ┃ ┃ ┃ ┣ 📜Nabati.jpg
 ┃ ┃ ┃ ┗ 📜quatet.jpg
 ┃ ┃ ┣ 📂testdataCRM
 ┃ ┃ ┃ ┣ 📜ClientsDataExcel.xlsx
 ┃ ┃ ┃ ┣ 📜DOCX_File_01.docx
 ┃ ┃ ┃ ┣ 📜LoginCSV.csv
 ┃ ┃ ┃ ┗ 📜TxtFileData.txt
 ┃ ┃ ┗ 📜pdf-config.json
 ┣ 📜.gitignore
 ┣ 📜pom.xml
 ┗ 📜README.md

I shall write document for my Framework. Coming soon...

Copyright 2022 Anh Tester

Anh Tester Blog: https://anhtester.com/

Alt text

More Repositories

1

AutomationFrameworkCucumberTestNG

Test Automation Framework Cucumber TestNG with Selenium Java building by Anh Tester
Java
33
star
2

CucumberTestNGParallel

Selenium Java with Cucumber TestNG parallel execution building by Anh Tester.
Java
6
star
3

PlaywrightJava

Learning Playwright for Java - Anh Tester
Java
5
star
4

SeleniumTestNG092022Parallel

Source code khoá học Selenium Java khoá 09/2022 nội dung Parallel Execution từ bài 25 đến hết.
Java
5
star
5

NewFeatureSelenium4

New Feature in Selenium 4
Java
4
star
6

SeleniumTestNGParallel

Selenium Java with TestNG and parallel execution building by Anh Tester.
Java
4
star
7

RestAssuredTestNG2023

Project test API automation with REST Assured library and TestNG Framework 2023
Java
4
star
8

SeleniumJavaFramework

Selenium Java Framework design by Anh Tester
Java
3
star
9

SeleniumMaven42022Parallel

Selenium Maven project từ bài 25 parallel về sau khoá học Selenium Java 4/2022 Anh Tester
Java
3
star
10

anhtester

Trang quản lý source code automation test của Anh Tester trên GitHub
3
star
11

SeleniumMaven42022

Source code dạy automation test khoá 4/2022 | Anh Tester
Java
2
star
12

HuongDanBaiTap092022

Source code hướng dẫn làm bài tập phần TestNG về sau của khoá học Selenium Java 09/2022
Java
2
star
13

TestNGParallelExecutionOnSeleniumGrid

TestNG Parallel Execution On Selenium Grid 4
Java
2
star
14

LearnPythonLanguage

Project for learning Python Language
Python
2
star
15

SeleniumMaven092022

Source code khoá học Selenium Java 09/2022
Java
2
star
16

SeleniumTestNG092022

Source code khoá học Selenium Java khoá 09/2022 nội dung TestNG Framework
Java
2
star
17

Automation_Android_Appium2

Setup Test Automation on Android with Appium 2
Java
2
star
18

SeleniumMaven112023

Project học Selenium Java version 4 của lớp 11/2023
Java
2
star
19

VTCC_SeleniumMaven

Project học phần Selenium Java với Maven project của lớp VTCC Viettel 2024
Java
2
star
20

Viettel_SeleniumMavenTestNG

Project learning Selenium TestNG Framework with Maven project for Viettel teams 2023
Java
1
star
21

SeleniumJavaIntegrateTelegram

Project Selenium Java integate to Telegram (send report to Telegram)
1
star
22

SeleniumJavaIntegrateJira

Project Selenium Java integrate to Jira (create new issues on Jira with test cases fail)
Java
1
star
23

SeleniumJavaIntegrateMSTeams

Project Selenium Java integate to Microsoft Teams (send report to Teams application)
1
star
24

SeleniumTestNGParallel042023

Project Selenium TestNG with Parallel Execution in Page Object Model pattern of online class 04/2023
Java
1
star
25

VTCC_SuaBaiKiemTra1

Java
1
star
26

Viettel_JavaBasic

Project learning Java Basic for Viettel team
Java
1
star
27

JavaOOP042023

Project learning Java OOP for class 04/2023
Java
1
star
28

restassured-testng-examples

Learning project API Test Automation using REST Assured and TestNG 2022 | Anh Tester
Java
1
star
29

SeleniumJavaIntegrateSlack

Project Selenium Java integate to Slack (send report to Slack)
1
star
30

JavaBasic042023

Source code bài học ngôn ngữ lập trình Java basic khoá 04/2023
Java
1
star
31

Viettel_SeleniumMaven

Project learning Selenium Java with Maven for Viettel teams 2023
Java
1
star
32

SeleniumTestNG092022POM

Selenium TestNG 09/2022 Page Object Model
Java
1
star
33

Viettel_JavaOOP

Project learning Java OOP for Viettel Team
Java
1
star
34

CucumberTestNG022023

Source code dạy học Cucumber TestNG khoá 02/2023
Java
1
star
35

SeleniumMaven042023

Project learning Selenium Java with Maven project 04/2023
Java
1
star
36

SeleniumMavenTestNG042023

Project learning Selenium TestNG Framework with Maven project for class 04/2023
Java
1
star
37

VTCC_JavaOOP

Project Java OOP of VTCC Viettel 2024
Java
1
star
38

SeleniumTestNG112023

Project học Selenium Java phần TestNG Framework của lớp Test Automation 11/2023
Java
1
star
39

VTCC_SeleniumTestNGParallel

Test Automation project with Selenium and TestNG Framework for VTCC Viettel class 2024
Java
1
star
40

JavaBasic112023

Java
1
star
41

Viettel_SeleniumTestNG_Parallel

Project Selenium Java TestNG with Parallel Execution for Viettel class
Java
1
star
42

VTCC_SeleniumTestNG

Test Automation project with Selenium and TestNG Framework for VTCC Viettel class 2024
Java
1
star
43

VTCC_JavaBasic

Project Java Basic of VTCC Viettel 2024
Java
1
star
44

JavaForTester2023

Project to learning Java For Tester 2023 by Anh Tester
Java
1
star
45

JavaOOP112023

Project Java OOP khoá 11/2023
Java
1
star