Help get this topic noticed by sharing it on Twitter, Facebook, or email.
I’m excited

Tarantula API

Does Tarantula expose an API? If so is there documentation of what API calls are available?
3 people have
this question
+1
Reply
  • Ari Hakala (Prove Expertise Oy) September 13, 2012 09:05
    Client is basically single javascript program accessing server through HTTP get/put/post/delete calls containing json.

    So json interface could be used to talk directly to server. Unfortunately this is not documented. If you want to explore this further, you could use e.g. firebug with firefox to see what kind of calls different actions produce.

    For example, opening case from UI produces following http request:

    http://pts.tarantula.fi/t/cases/164

    164 is case identifier.

    And response from server is case encoded in json:


    {"data":[{"id":164,"date":"2012-09-13","project_id":21,"title":"admin console - manage publishers page returns error","deleted":false,"archived":false,"time_estimate":null,"created_by":"admin","created_at":"2012-09-13 10:13:04","updated_at":"2012-09-13 10:42:05","updated_by":"admin","objective":"","test_data":"","preconditions_and_assumptions":"","version":2,"tasks":[],"priority":"normal","test_area_ids":[],"average_duration":18,"tag_list":"","steps":[{"id":256,"action":"1. log on to admin console","result":"with success.","version":2,"position":1},{"id":258,"action":"2. click
    {"data":[{"id":164,"date":"2012-09-13","project_id":21,"title":"admin console - manage publishers page returns error","deleted":false,"archived":false,"time_estimate":null,"created_by":"admin","created_at":"2012-09-13 10:13:04","updated_at":"2012-09-13 10:42:05","updated_by":"admin","objective":"","test_data":"","preconditions_and_assumptions":"","version":2,"tasks":[],"priority":"normal","test_area_ids":[],"average_duration":18,"tag_list":"","steps":[{"id":256,"action":"1. log on to admin console","result":"with success.","version":2,"position":1},{"id":258,"action":"2. click \"Manage Publishers\" link. enjoy the error: \"An error occurred\"","result":"An error","version":1,"position":2}]}]}
    quot;Manage Publishers
    {"data":[{"id":164,"date":"2012-09-13","project_id":21,"title":"admin console - manage publishers page returns error","deleted":false,"archived":false,"time_estimate":null,"created_by":"admin","created_at":"2012-09-13 10:13:04","updated_at":"2012-09-13 10:42:05","updated_by":"admin","objective":"","test_data":"","preconditions_and_assumptions":"","version":2,"tasks":[],"priority":"normal","test_area_ids":[],"average_duration":18,"tag_list":"","steps":[{"id":256,"action":"1. log on to admin console","result":"with success.","version":2,"position":1},{"id":258,"action":"2. click \"Manage Publishers\" link. enjoy the error: \"An error occurred\"","result":"An error","version":1,"position":2}]}]}
    quot; link. enjoy the error:
    {"data":[{"id":164,"date":"2012-09-13","project_id":21,"title":"admin console - manage publishers page returns error","deleted":false,"archived":false,"time_estimate":null,"created_by":"admin","created_at":"2012-09-13 10:13:04","updated_at":"2012-09-13 10:42:05","updated_by":"admin","objective":"","test_data":"","preconditions_and_assumptions":"","version":2,"tasks":[],"priority":"normal","test_area_ids":[],"average_duration":18,"tag_list":"","steps":[{"id":256,"action":"1. log on to admin console","result":"with success.","version":2,"position":1},{"id":258,"action":"2. click \"Manage Publishers\" link. enjoy the error: \"An error occurred\"","result":"An error","version":1,"position":2}]}]}
    quot;An error occurred
    {"data":[{"id":164,"date":"2012-09-13","project_id":21,"title":"admin console - manage publishers page returns error","deleted":false,"archived":false,"time_estimate":null,"created_by":"admin","created_at":"2012-09-13 10:13:04","updated_at":"2012-09-13 10:42:05","updated_by":"admin","objective":"","test_data":"","preconditions_and_assumptions":"","version":2,"tasks":[],"priority":"normal","test_area_ids":[],"average_duration":18,"tag_list":"","steps":[{"id":256,"action":"1. log on to admin console","result":"with success.","version":2,"position":1},{"id":258,"action":"2. click \"Manage Publishers\" link. enjoy the error: \"An error occurred\"","result":"An error","version":1,"position":2}]}]}
    quot;","result":"An error","version":1,"position":2}]}]}


    On server side you should look first into rails controllers. They define server interface.
  • (some HTML allowed)
    How does this make you feel?
    Add Image
    I'm

    e.g. kidding, amused, unsure, silly sad, anxious, confused, frustrated happy, confident, thankful, excited indifferent, undecided, unconcerned

  • I’m frustrated
    So basically I would have to reverse-engineer the application through blackbox testing? That does not sound very consumable to me.
  • (some HTML allowed)
    How does this make you feel?
    Add Image
    I'm

    e.g. kidding, amused, unsure, silly sad, anxious, confused, frustrated happy, confident, thankful, excited indifferent, undecided, unconcerned

  • I essentially reverse-engineered it, and it's not really hard to do it. Tarantula responds with JSON files, which can be easily parsed and read with the 'json' ruby gem.

    Still, it could be documented and an API could be made more dev-friendly... It's a shame that this proyect is essentially dead...
  • (some HTML allowed)
    How does this make you feel?
    Add Image
    I'm

    e.g. kidding, amused, unsure, silly sad, anxious, confused, frustrated happy, confident, thankful, excited indifferent, undecided, unconcerned

  • (some HTML allowed)
    How does this make you feel?
    Add Image
    I'm

    e.g. kidding, amused, unsure, silly sad, anxious, confused, frustrated happy, confident, thankful, excited indifferent, undecided, unconcerned

  • Is rest_api functionality and automation_tool integration already added to master?
  • (some HTML allowed)
    How does this make you feel?
    Add Image
    I'm

    e.g. kidding, amused, unsure, silly sad, anxious, confused, frustrated happy, confident, thankful, excited indifferent, undecided, unconcerned