You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

pytestCasetest.py 2.5 KiB

2 years ago
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. '''
  2. @Description
  3. @auther leizi
  4. '''
  5. from Interface.testFengzhuang import TestApi
  6. from public.log import LOG
  7. from public.panduan import assertre
  8. from config.config import TestPlanUrl
  9. import pytest
  10. import os
  11. import yaml
  12. from public.get_excel import makedata
  13. file_dir = os.path.join(os.getcwd(), 'test_Report')
  14. file_reslut = os.path.join(file_dir, 'caseresult.yaml')
  15. def write(data):
  16. with open(file_reslut, 'a', encoding='utf-8') as f:
  17. yaml.dump(data, f, allow_unicode=True)
  18. def read(data):
  19. f = open(file_reslut, 'r', encoding='utf-8')
  20. d = yaml.load(f, Loader=yaml.FullLoader)
  21. return d[data]
  22. data_test = makedata()
  23. @pytest.mark.parametrize(data_test)
  24. class TestParametrize(object):
  25. def test_parame(self):
  26. parem = {'key': data_test['key']}
  27. try:
  28. parem_dict = eval(data_test['coneent'])
  29. for key, value in parem_dict.items():
  30. if str(value).startswith("&"):
  31. try:
  32. reply_key_id = str(value).split("&")[-1].split("=")
  33. reply_keyid = reply_key_id[0]
  34. reply_key_key = reply_key_id[1]
  35. reslut = read(reply_keyid)
  36. if reslut is None:
  37. assert False
  38. get_value = reslut[reply_key_key]
  39. if get_value is None:
  40. assert False
  41. parem_dict[key] = get_value
  42. except Exception as e:
  43. LOG.info("用例依赖执行失败:" + str(e))
  44. assert False
  45. parem.update({'info': parem_dict})
  46. except:
  47. assert False
  48. api = TestApi(url=TestPlanUrl + data_test['url'],
  49. parame=parem,
  50. method=data_test['fangshi'])
  51. LOG.info('输入参数:url:%s,key:%s,参数:%s,请求方式:%s' % (data_test['url'], data_test['key'], data_test['coneent'],
  52. LOG.info('输入参数:url:%s,key:%s,参数:%s,请求方式:%s' % (
  53. data_test['url'], data_test['key'], data_test['coneent'],
  54. data_test['fangshi']))))
  55. apijson = api.getJson()
  56. reslut = {}
  57. reslut[data_test['id']] = apijson
  58. LOG.info('返回结果:%s' % apijson)
  59. assertall = assertre(asserassert=data_test['qiwang'])
  60. assert dict(assertall) == dict(apijson)

Introduction

生成接口测试报告

No topics