Git Product home page Git Product logo

ptc's Introduction

PTC

Performance test center. Docker based service to help user manage, organize, execute JMeter test and get detailed performance report.

Prerequisites

Docker is properly installed and configured

Getting Started

Download Docker image from Docker hub:

  • mongo: Mongo db
  • ptc: JMeter master along with PTC main service
  • jmeterslave:JMeter slave to execute test and send report back to master

Note

Deployment

  1. Start mongo db. Bind default mongo db port 27017 to selected server port
docker run -dit -p 27017:27017 --name mongo mongo
  1. Start as many JMeter slaves as needed
docker run -dit --name slave1 jmeterslave
docker run -dit --name slave2 jmeterslave
docker run -dit --name slave3 jemterslave
  1. Inspect IP address of jmeter slave(s).
docker inspect --format '{{ .Name }} => {{ .NetworkSettings.IPAddress }}' $(docker ps -a -q)

Start PTC(JMeter master) by passing in mongo and slave information.

docker run -it -p <server port>:<container port 8080 by default> -e mongoAdd=<IP Address of mongo db> -e mongoPort=<Port of mongo db> -e slaves=<Slave IP separated by comma> --name ptc ptc

alt text

  1. If you saw "db conncetion established", you are ready to go. Visit http://localhost:8080 to use PTC

Running the tests

  1. Register and login the system
  2. Create a project if there isn't any
  3. Go to Performance Testing->JMeter test page to add a test
  • Specify mandatory information of a test:

    • Choose a project
    • Fill in test name
    • Upload a JMeter test case
  • Specify optional information:

    • Fill in host and port
    • Other parameters by dragging the sliders
  • Click save button, test will be executed automatically. Check execution status in 'Execution History' section alt text

  1. After test status becomes to 'Finished', click log to check the report.alt text

Note

You can define parameters like thread user, rampup time... directly in JMeter test case, that way the parameters you specified on web page won't take effect. Otherwise, use ${__p()} to take the parameter. Here is an sample case

Manage your case

  1. Object Tests are organized under project. Open an object
  • All tests that under this project will be listed
  • Object name and description can be updated
  • Object can be deleted only if there is no test under it
  1. Test A test contain a JMeter case and related configuration. Open a test:
  • Test execution history will be listed
  • Test can be updated by changing the case and/or the configuration
  • Test can be re-executed directly by click the 'Play' button
  • Test can be deleted, and all its execution history will be deleted together
  1. Activity To log some major events like test creation and update
  • You can check activity on homepage-> dashboard
  • If a test gets deleted, all its related activities will be deleted too

Permission Control

First registered user is super user, and others will be normal user

  • Super user can visit all data(Project, test, test execution log etc.
  • Normal user can only visit the data created by himself/herself

Authors

Wenwen Yang [email protected]

License

ptc's People

Contributors

yww avatar

Watchers

James Cloos avatar

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.