Advertisement
Afaeld

Untitled

Sep 25th, 2018
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.92 KB | None | 0 0
  1. import mysql.connector
  2. import requests
  3. import json
  4. import urllib3
  5. from collections import OrderedDict
  6. import sys
  7. import ConfigParser
  8. urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
  9. urllib3.disable_warnings()
  10.  
  11.  
  12. config = ConfigParser.ConfigParser()
  13. config.read("[Path to your config file]")
  14. testrailUser = config.get("testrail","user")
  15. testrailPassword = config.get("testrail","password")
  16. databaseUser = config.get("mysql","user")
  17. databasePassword = config.get("mysql","password")
  18. testrailUrl = config.get("testrail","url")
  19. connectionMysql = mysql.connector.connect(host="localhost",user=databaseUser,password=databasePassword,database="testrail")
  20. cursorMysql = connectionMysql.cursor()
  21. cursorMysql.execute("SELECT id,plan_id FROM runs WHERE entry_id = '"+sys.argv[1]+"'and plan_id = '"+sys.argv[2]+"'")
  22. result = cursorMysql.fetchall()
  23. for row in result:
  24.     id = row[0]
  25.     plan_id = row[1]
  26.     headers = {"Content-Type": "application/json"}
  27.     r = requests.get(testrailUrl+"get_run/"+str(id),auth=(testrailUser,testrailPassword),headers=headers,verify=False)
  28.     jsonRun = json.loads(r.text)
  29.     name = jsonRun["name"]+"_copied"
  30.     suiteId = jsonRun["suite_id"]
  31.     projectId = jsonRun["project_id"]
  32.     assignedTo = jsonRun["assignedto_id"]
  33.     description = jsonRun["description"]
  34.     cursorMysql.execute("SELECT content_id FROM tests WHERE run_id = "+str(id)+" AND is_selected = 1")
  35.     tests = cursorMysql.fetchall()
  36.     tests = [x[0] for x in tests]
  37.     print tests
  38.     payloadPlan = OrderedDict()
  39.     payloadPlan["suite_id"] = suiteId
  40.     payloadPlan["assignedto_id"] = assignedTo
  41.     payloadPlan["include_all"] = False
  42.     payloadPlan["description"] = description
  43.     payloadPlan["name"] = name
  44.     payloadPlan["case_ids"] = tests
  45.     payload = json.dumps(payloadPlan)
  46.     print payload
  47.     r = requests.post(testrailUrl + "add_plan_entry/"+str(plan_id),data=payload,auth=(testrailUser,testrailPassword),headers=headers,verify=False)
  48.     print r.text
  49.     break
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement