Iterable QA Automation

Run Iterable test scenarios using the Crank BDD framework.

Iterable Logo

Installing and Authenticating this Cog

Once you've successfully installed Crank you can install this Cog by running the following:

$ crank cog:install automatoninc/iterable

You will be asked for the following authentication details on installation. To avoid prompts in a CI/CD context, you can provide the same details as environment variables.

Expected Authentication Details
FieldInstall-Time Environment VariableDescription
apiKey *CRANK_AUTOMATONINC_ITERABLE__APIKEYApi Key

You can always re-authenticate by running the following command.

$ crank cog:auth automatoninc/iterable

Iterable Test Steps

Create or update an Iterable Contact Action

Use this step in a Scenario file like this:

- step: When I create or update an iterable contact
  data:
    contact:
      field: value
Expected Step Input
IDTypeDescription
contact *Map/ObjectWhere keys represent contact profile field names as represented in the Iterable API (including email).
Exposed Dynamic Tokens
TokenTypeDescription
{{iterable.contact.email}}Email AddressContact's Email Address
{{iterable.contact.signupDate}}ISO 8601 DatetimeThe date/time the Contact was created
{{iterable.contact.profileUpdatedAt}}ISO 8601 DatetimeThe date/time the Contact was updated
{{iterable.contact.*}}*This step may expose additional dynamic tokens representing values on the contact, depending on how you've configured the underlying system.

Delete an Iterable Contact Action

Use this step in a Scenario file like this:

- step: Finally, delete the {{email}} iterable contact
Expected Step Input
IDTypeDescription
email *Email AddressContact's email address

Check a field on an Iterable Contact Assertion

Use this step in a Scenario file like this:

- step: Then the {{field}} field on iterable contact {{email}} should {{operator}} {{expectedValue}}
Expected Step Input
IDTypeDescription
email *Email AddressContact's email address
field *StringField name to check
operator *StringCheck Logic (be, not be, contain, not contain, be greater than, be less than, be set, not be set, be one of, or not be one of)
expectedValue Any ScalarExpected field value
Exposed Dynamic Tokens
TokenTypeDescription
{{iterable.contact.email}}Email AddressContact's Email Address
{{iterable.contact.signupDate}}ISO 8601 DatetimeThe date/time the Contact was created
{{iterable.contact.profileUpdatedAt}}ISO 8601 DatetimeThe date/time the Contact was updated
{{iterable.contact.*}}*This step may expose additional dynamic tokens representing values on the contact, depending on how you've configured the underlying system.

Missing a Step You Need?

This Cog is open source! Your contributions are welcome and encouraged.

Contribute on GitHubJoin the Crank Spectrum Community