Iterable QA Automation
Run Iterable test scenarios using the Crank BDD framework.

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.
Field | Install-Time Environment Variable | Description |
---|---|---|
apiKey * | CRANK_AUTOMATONINC_ITERABLE__APIKEY | Api 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
ID | Type | Description |
---|---|---|
contact * | Map/Object | Where keys represent contact profile field names as represented in the Iterable API (including email). |
Token | Type | Description |
---|---|---|
{{iterable.contact.email}} | Email Address | Contact's Email Address |
{{iterable.contact.signupDate}} | ISO 8601 Datetime | The date/time the Contact was created |
{{iterable.contact.profileUpdatedAt}} | ISO 8601 Datetime | The 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
ID | Type | Description |
---|---|---|
email * | Email Address | Contact'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}}
ID | Type | Description |
---|---|---|
email * | Email Address | Contact's email address |
field * | String | Field name to check |
operator * | String | Check 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 Scalar | Expected field value |
Token | Type | Description |
---|---|---|
{{iterable.contact.email}} | Email Address | Contact's Email Address |
{{iterable.contact.signupDate}} | ISO 8601 Datetime | The date/time the Contact was created |
{{iterable.contact.profileUpdatedAt}} | ISO 8601 Datetime | The 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