Database Testing
Loadmill allows users to execute various queries directly to their DB in order to validate data. This is a very powerful feature as it allows users to check data integrity and accuracy.
To execute a database query:
- 1.Go to the relevant test flow within your Test Suite.
- 2.Request Method: POST.
- 3.Request URL:
https://db-relay-service.loadmill.com/api/postgres
- 4.Content Type: application/json
- 5.Request Body:
body: {
"connectionString": "postgres://...",
"query": "SELECT * FROM USERS"
}
See the request example below:

Running this request with result with a JSON response with the required data.
To execute MongoDB queries:
- 1.Apply the same steps above.
- 2.Request URL:
https://db-relay-service.loadmill.com/api/mongo
- 3.Request Body:
In this example we're searching for a user with the name "John"
body: {
connectionString: 'mongodb://...',
collection: 'users',
command: 'find',
query: { "name":"John" }
}
The MongoDB service is initially meant for "read-only" purposes (i.e. find). However, using a Docker image privately allows you to use the environment variable
ALLOW_ALTERING=true
and by doing so the following options are available:
insertOne
, insertMany
, updateOne
, updateMany
, deleteOne
and deleteMany
.InsertOne:
body: {
connectionString: 'mongodb://...',
collection: 'users',
command: 'insertOne',
query: { "name": "John", "age": "56" }
}
updateOne:
body: {
connectionString: 'mongodb://...',
collection: 'users',
command: 'updateOne',
query: { "name":"John" },
update: { "$set": { "age": "67" } }
}
deleteOne:
body: {
connectionString: 'mongodb://...',
collection: 'users',
command: 'deleteOne',
query: { "name":"John" }
}
To execute Redis queries:
- 1.Apply the same steps above.
- 2.Request URL:
https://db-relay-service.loadmill.com/api/redis
- 3.Request Body:
body: {
{
connectionString: "redis://...",
command:"get | hget | hgetall",
key:"any-key",
field: "any-field"
}
}
To execute queries directly to MySQL 5.7:
- 1.Apply the same steps above.
- 2.Request URL:
https://db-relay-service.loadmill.com/api/mysql
- 3.Request Body:
body: {
"connectionString": "mysql://...",
"query": "SELECT * FROM TASKS"
}
Executing queries to your environment DB may require VPN. You can easily overcome this by whitelisting the DB relay service static IPs:
[52.42.51.230, 54.190.108.53]
in your firewall.You can use a Docker image for DB relay service to deploy it in a specific environment.
Last modified 9mo ago