How to write Panaya's Test Automation Connector?

The Automation Connector allows Panaya to communicate with a remote automation engine.

The connector performs the following activities - 

  • Retrieves the list of tests from the Panaya Playlist
  • Requests the automation engine to begin running the automated tests
  • Sends results, time, and evidence back to Panaya

This article includes important guidelines for writing your Panaya test automation connector.
Click here to download the API calls document

Important!

  • Keep your connector machine up and running 24/7. We reommend using monitoring tools such as Watchdog to maintain and ensure the performance of your connector. 
  • The connector machine requires continuous internet access, ot be able to communicate with Panaya servers
  • Select a machine that is robust enough to be able to support -
    • Handling communication issues with Panaya or with the automation tool 
    • Multiple connection retrials when encountering technical failure.
      In cases where the connector fails to perform a test step, Panaya will not proceed to execute the proceeding steps. The connector developer should be able to implement an internal mechanism to monitor and retrieve any test steps that could not be executed.

Good to Know

  • The connector can be written in any language or technology, as long as it supports and communicates over HTTPS
  • The Panaya Connector communicates via API. Use the below HTTP call to complete the authentication and receive a response token. You should use this token in all subsequent API calls.

 

Step 1 - Register your Connector Machine

You will need to register your connector machine only once.

  1. In Panaya, click on the Settings button to open up the Settings Panel
  2. In the Automatic Testing Tool section, click on Copy UID To Clipboard
  3. Use the copied UID to call the API and register your machine name.



     

Step 2 - Set the Connector Logic

The recommended connector logic is as follows - 

  • Every X minutes, call Panaya and ask for tasks
    • If no asks - Sleep for X minutes
    • If there are tasks, iterate and handle each one
      • Report to Panaya that you started to handle it
      • Handle it
      • Report to Panaya that the task was completed
         
  • There can be 2 task types - 
     
    • Type 1 – A request to sync tests
      • Panaya will transfer the Key-Value pairs, as defined by the user in the Sync Settings tab for the Automation Cycle
      • It is up to the connector to realize the Key-Value pairs, connect with the automation tool, know which tests to sync back to Panaya and call the Panaya API to create these tests.
      • As part of test creation, Panaya should be sent all information that is required for test execution (Key-Value pairs for each test)
      • The connector should only transfer new tests that have not been sent to Panaya before.
      • There is currently no option to update/delete a test that has already been synced to Panaya.
         
    • Type 2 – A request to execute tests
      • When a user creates a playlist, Panaya will transfer the ID for each test, and all the Key-Value pairs of the tests.
      • The connector should then begin the execution of the test and report back to Panaya that the execution has begun
      • Upon execution completion, the connector should report the execution results (Passed/Failed) and can also transfer an evidence file.