Keywords to test postgres db with testx


stars 🌟issues ⚠️updated 🛠created 🐣size 🏋️‍♀️
00Sep 6, 2018Sep 3, 2018Minified + gzip package size for @ictu/testx-keywords-postgres in KB


Build Status


A library that extends testx with keywords for testing Postgres databases. @ictu/testx-keywords-postgres is a fork of @testx/keywords-postgres, maintained and used by ICTU (www.ictu.nl). This library is packaged as a npm package.

How does it work

From the directory of the art code install the package as follows:

npm install @ictu/testx-keywords-postgres --save

After installing the package you add these keywords to testx by adding the following line to your protractor config file:


Example testx script:

- execute sql:
    sql: SELECT 1;
    expected result:
      - ?column?: 1
    save result to: saved
- execute sql:
    sql: SELECT 1;
    expected result: '{{saved}}'
- execute sql:
    sql: |-
      CREATE TABLE test (first varchar(20), second integer);
      INSERT INTO test(first, second) VALUES ('test1', 12), ('test2', 34);
      SELECT * FROM test;
    expected result:
      - first: test1
        second: 12
      - first: test2
        second: 34


Keyword Argument name Argument value Description
execute sql Connect to the database, execute the SQL query/statement and optionally check the expected result and/or save it in the test context.
connection string Connection string in the format of postgres://user:password@host:port/database. Optional. If not set, the postgresConnectionString command line (or config file) parameter will be used.
sql SQL query/statement to execute. Required.
expected result Expected result of the query. Optional. It will be compared to the result of the query. The keyword will fail if they are different. The expected result should be a list of rows. Every row is an object (see the example).
save result to varname Optional. The name of a context variable, that will be used to save the result of the query.

If you find any bugs or have a feature request, please open an issue on github!

The npm package download data comes from npm's download counts api and package details come from npms.io.