All Projects → patchgirl → patchgirl

patchgirl / patchgirl

Licence: MPL-2.0 license
Manual reproducible web API tests for web developers

Programming Languages

elm
856 projects
haskell
3896 projects
ruby
36898 projects - #4 most used programming language
PLpgSQL
1095 projects
Nix
1067 projects
HTML
75241 projects

Projects that are alternatives of or similar to patchgirl

Faker
Faker is a pure Elixir library for generating fake data.
Stars: ✭ 673 (+608.42%)
Mutual labels:  qa, test
Qa bible
Библия QA это почти 300 страниц обновляемой смеси ответов на вопросы с реальных собеседований на QA, полезных ресурсов и статей, перевода интересного контента с зарубежных ресурсов и агрегации материала с отечественных.
Stars: ✭ 657 (+591.58%)
Mutual labels:  qa, test
percona-qa
Percona QA is a suite of scripts and utilities that assists in building, continuous integration, automated testing & bug reporting for Percona Server, Percona XtraDB Cluster, Percona XtraBackup, Percona Server for MongoDB, as well as other flavors of MySQL (Oracle, Facebook MyQSL, WebScaleSQL, MariaDB) etc.
Stars: ✭ 55 (-42.11%)
Mutual labels:  qa, test
awesome-testing
Software Testing for QA.
Stars: ✭ 48 (-49.47%)
Mutual labels:  qa, test
threat9-test-bed
No description or website provided.
Stars: ✭ 26 (-72.63%)
Mutual labels:  test
vue-testing-with-jest-conf17
Examples on how to test Vue with Jest, based on the presentation at VueConf17
Stars: ✭ 37 (-61.05%)
Mutual labels:  test
carina
Carina automation framework: Web, Mobile, API, DB etc testing...
Stars: ✭ 652 (+586.32%)
Mutual labels:  test
ngx-testbedder
CLI tool for writing the test bed for Angular integration test
Stars: ✭ 13 (-86.32%)
Mutual labels:  test
Chatbot
基于语义理解、知识图谱的聊天机器人
Stars: ✭ 30 (-68.42%)
Mutual labels:  qa
framework
Lightweight, open source and magic-free framework for testing solidity smart contracts.
Stars: ✭ 36 (-62.11%)
Mutual labels:  test
javascript-assertivo
Um guia fundamental e prático sobre qualidade de código e testes em todas as camadas de uma aplicação JavaScript.
Stars: ✭ 75 (-21.05%)
Mutual labels:  test
typescript-test-utils
Helper types for testing your package exported types
Stars: ✭ 16 (-83.16%)
Mutual labels:  test
cloud-meter
An attempt to port Apache Jmeter to a web based architecture.
Stars: ✭ 18 (-81.05%)
Mutual labels:  qa
mutode
Mutation testing for JavaScript and Node.js
Stars: ✭ 61 (-35.79%)
Mutual labels:  test
bento
🍱 bento is an English-based automation language designed to be used by non-technical people.
Stars: ✭ 32 (-66.32%)
Mutual labels:  qa
test junkie
Highly configurable testing framework for Python
Stars: ✭ 72 (-24.21%)
Mutual labels:  qa
unity-test-runner
Run tests for any Unity project
Stars: ✭ 134 (+41.05%)
Mutual labels:  test
ara
Agile Regression Analyzer
Stars: ✭ 74 (-22.11%)
Mutual labels:  test
goreporter
A Golang tool that does static analysis, unit testing, code review and generate code quality report.
Stars: ✭ 3,019 (+3077.89%)
Mutual labels:  test
PixelTest
Fast, modern, simple iOS snapshot testing written purely in Swift.
Stars: ✭ 56 (-41.05%)
Mutual labels:  test

PatchGirl

Build Status GitHub CI

A postman/postwoman like, web app to test your APIs !

How to use

To use PatchGirl, you only need to go to the app page 🚀. However, for a full experience, you will want to run patchgirl-runner on your computer. It acts as a tiny proxy that runs your request (HTTP, SQL,...) from you computer.

Installing Patchgirl-runner

Linux

Just download the latest binary for linux here and run it:

chmod +x patchgirl-runner-X.Y.Z
./patchgirl-runner-X.Y.Z

MacOS

Either download and run the mac binary from the release (cf Linux section) or use homebrew:

brew install patchgirl/patchgirl/runner
patchgirl-runner # to run patchgirl-runner

nb: Please note that for recent versions of MacOS, if you use the binary method, MacOS will display an error popup stating that the app hasn't been recognized and so is insecure. To overcome this issue, you'll need to "right-click open" the executable from the finder once!

Windows

Windows support is currently on the roadmap.

Features

: available
🔧: in development
📝: in the roadmap

available feature description
sign in via github save your data with a Github account
environment Environment helps you save and reuse variables
http request Create and play http requests
Postgres SQL query Create and play Postgres SQL queries
scenarios Create and Play multiple http requests or postgresql queries one after another
pre request script Play a script right before executing a request (eg: Include timestamp in the request headers, send a random string in the URL parameters,...)
post request script Play a script right after executing a request (eg: Assign the response result to a variable, assert that the response status is a 200,...)
desktop app (Linux & MacOS only as of today) Lightweight desktop proxy so you can play a request targeting a local host
🔧 cross platform desktop application Make the PatchGirl desktop app available on Windows (currently only available on Linux and MacOS
🔧 MySql request Play MySQL queries
📝 websocket
📝 MongoDB queries
📝 Kafka queries
📝 RabbitMQ queries
📝 Shell/Bash queries
📝 websocket
📝 server send events
📝 API documentation Generate documentation from a set of requests
📝 Team mode Share your collections with your team
📝 Keyboard shortcuts

📢 Scenario of tests

Play multiple requests one after another. This is useful if you want to:

  • Automate your development environment db (eg: create many users,...)
  • Automate the test of your API (eg: create a user then show it then delete it)

📜 pre-request script

Run a javascript script right before a request is executed. This is useful if you want to:

  • Include timestamp in the request headers
  • Send a random string in the URL parameters

📜 post-request script

Run a javascript script after a request is executed. This is useful if you want to:

  • Assert for a response status or body
  • Set variables according on the response body

📦 Desktop app (AKA patchgirl runner)

Install a desktop app so you can use PatchGirl locally. This is needed when you:

  • Use PatchGirl without internet access
  • Call localhost url
  • Need to play any request that is not HTTP (i.e: Postgresql, MySQL,...)
  • want faster request execution (no round trips to a remote server, everything is done on your computer)

How to build

Please refer to the documentation if you need to build and run PatchGirl locally.

Architecture

architecture

PatchGirl is only built with functional programing languages:

  • NixOS for the operating system
  • Haskell for the backend API
  • Elm for the front end single page app
  • Dhall for everything related to configuration
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].