Code Monkey home page Code Monkey logo

edgex-taf-common's Introduction

EdgeX Test Automation Framework Common ( edgex-taf-common )

Build Status GitHub Latest Dev Tag) GitHub Latest Stable Tag) GitHub License GitHub Pull Requests GitHub Contributors GitHub Committers GitHub Commit Activity

Overview

Contains common code or scripts such as TUC which will be common for all the project specific TAF code. TUC - Test Util Catalog.

Usage

  1. Install required lib:

    git clone [email protected]:edgexfoundry/edgex-taf-common.git
    pip3 install edgex-taf-common
    pip3 install -r edgex-taf-common/requirements.txt
  2. Create a edgex-taf project which contains a TAF folder.

    edgex-taf-project
    ├── TAF
    │   ├── README.md
    │   ├── __init__.py
    │   ├── config
    │   ├── testArtifacts
    │   ├── testCaseApps
    │   ├── testScenarios
    │   └── utils
    ├── .gitignore
    ├── .gitmodules
    ├── Jenkinsfile
    ├── README.md
    
  3. Run test scripts via the edgex-taf-common:

    cd edgex-taf-project
    
    # Run use cases
    python3 -m TUC -u UC_coredata -u UC_metadata
    
    # Run test cases
    python3 -m TUC -t UC_coredata/event.robot -t UC_metadata/device.robot

Report location:

TAF/testArtifacts/reports/edgex
├── log.html
├── report.html
└── report.xml
  1. Develop with IDE

    Since we use edgex-taf-common as module, we need to add it to the IDE. For the pycharm example, add interpreter paths.

  2. Build docker image

    docker build .

Reports aggregation

Specify the reports directory and output directory

python3 -m TUC rebot --inputdir path/to/report/dir --outputdir path/to/output/dir

Then TUC will fetch robot XML reports from inputdir and regenerate new report to outputdir

path/to/output/dir
├── log.html
├── report.html
└── result.xml (xUnit compatible XML format)

Community

License

Apache-2.0

edgex-taf-common's People

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

edgex-taf-common's Issues

Fix build image error and add pyzmq package

  • Got the following error when install RESTinstance 1.0.2
Building wheels for collected packages: backports.zoneinfo
  Building wheel for backports.zoneinfo (PEP 517) ... error
  • add zeromq-dev and pyzmq packages for ZeroMQ tests

Add pycryptodome library for aes256 testing

🚀 Feature Request

Relevant Package [REQUIRED]

This feature request is for [edgex-taf #541](https://github.com/edgexfoundry/edgex-taf/issues/541)

Description [REQUIRED]

Add library pycryptodome.

Describe the solution you'd like

If you have a solution in mind, please describe it.

Describe alternatives you've considered

Have you considered any alternative solutions or workarounds?

Add influxdb-client library for influxDB testing

🚀 Feature Request

Relevant Package [REQUIRED]

This feature request is for edgex-taf-private [influxDB testing](https://github.com/IOTechSystems/edgex-taf-private/pull/272).

Description [REQUIRED]

Add influxdb-client library.

Describe the solution you'd like

If you have a solution in mind, please describe it.

Describe alternatives you've considered

Have you considered any alternative solutions or workarounds?

Extract the run.py to edgex-taf-common

We consider extract the run.py to edgex-taf-common, then both developer and CI server should trigger test via run.py. This is more easy to maintain and keep consistent.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.