Test Automation Scope - ja-guzzle/guzzle_docs GitHub Wiki

Guzzle Modules

guzzle_regression_test_suite_v0.4.xlsx

Tools for UI and API testing:

https://medium.com/@briananderson2209/best-automation-testing-tools-for-2018-top-10-reviews-8a4a19f664d2

Test Suite Syntax

Guzzle test suit supported syntax:

Given: Used to setup source files and database tables for a test case.

  • Database:
    • Supported configuration format:
      • JDBC (MySQL, hive, phoenix). Hive DB is accessed via JDBC (as this step is done by Cucumber directly and not via Spark)
    • Source table structure format:
      • Table format
      • SQL query format as "CREATE TALE xxx"
    • Table data ingestion format:
      • Table format
      • SQL query format as " INSERT INTO... xxx"
  • File Source:
    • Supported file system and format:
      • file system: LFS, HDFS, DBFS, Adls Gen2, S3
      • file format: delimited, json, xml, control file, fixed file format, simple text file, excel, parquet
    • Create a source file with data:
      • Table structure
      • raw file content given as JSON, XML, Log files etc (Yet to be built)
      • Other supported options, like file path, format, delimiter, file system, header etc.
      • path to an existing file which points (yet to be built) - this can be any format including excel

When: Used to executed guzzle job with specified parameters.

  • Run job:
    • job name
    • job parameters (key value format)
  • Run job group:
    • job group name
    • job parameters (key value format)
  • Initialize batch:
    • batch parameters (key value format)
  • Execute batch:
    • batch parameters (key value format)

Then: Used to compare job result and expected result.

  • Fetch actual data:
    • Database:
      • Supported configuration format:
        • jdbc (hive, phoenix, MySQL, SQL Server, delta)
      • Fetch table data options:
        • database and table name
        • database and table name and filter condition
        • database and select SQL query
    • File:
      • Supported file system and format:
        • file system: LFS, HDFS, DBFS, Adls Gen2, S3
        • file format: delimited, json, xml, control file, excel, parquet
      • Fetch file data options:
        • file system, file format and file path
  • Expected data:
    • Table format
    • Existing table in JDBC
  • compare data:
    • compare actual and expected records by specified primary key(multiple column by comma(,) separated)
    • compare only specified columns
⚠️ **GitHub.com Fallback** ⚠️