配置文件中添加对应的参数
config/BasicConfig.py

  1. """
  2. 定义一些常用的配置
  3. """
  4. class BasicConfig:
  5. SERVERURL = "http://49.233.108.117:28019/"
  6. # 上下游传参
  7. TOKEN = None # 用户的token值
  8. GOODSID = None # 商品id

编写接口用例

testcases/test_process/test_main.py

  1. """
  2. 测试主业务流程
  3. """
  4. import hashlib
  5. from utils.myrequests import MyRequests
  6. from config.BasicConfig import BasicConfig
  7. myreq = MyRequests()
  8. class TestMainFlow:
  9. def test_login(self):
  10. """
  11. 登录
  12. :return:
  13. """
  14. url = "/api/v1/user/login"
  15. bodydata = {
  16. "loginName": "17088889999",
  17. "passwordMd5": hashlib.md5("123456".encode()).hexdigest()
  18. }
  19. r = myreq.do_requests(method='post',url=url,json=bodydata)
  20. assert r.json()["message"] == "SUCCESS"
  21. # 上下游传参
  22. BasicConfig.TOKEN = r.json()["data"]
  23. def test_search(self):
  24. """
  25. 搜索商品
  26. :return:
  27. """
  28. url = "/api/v1/search"
  29. headers = {
  30. "token": BasicConfig.TOKEN
  31. }
  32. querydata = {
  33. "keyword": "iphone"
  34. }
  35. r = myreq.do_requests(method="get",url=url, params=querydata, headers=headers)
  36. # print(r.json())
  37. # 返回结果中的 list 中 goodsName 包含iphone
  38. for result in r.json()["data"]["list"]:
  39. # 将结果中的字符串转为小写
  40. assert "iphone" in result["goodsName"].lower()
  41. BasicConfig.GOODSID = r.json()["data"]["list"][0]["goodsId"]
  42. def test_add_cart(self):
  43. """
  44. 加入购物车
  45. :return:
  46. """
  47. url = "/api/v1/shop-cart"
  48. bodydata = {
  49. "goodsCount": 1,
  50. "goodsId": BasicConfig.GOODSID
  51. }
  52. headers = {
  53. "token": BasicConfig.TOKEN
  54. }
  55. r = myreq.do_requests(url=url,method='post',json=bodydata,headers=headers)
  56. assert r.json()["message"] == "SUCCESS"

通过类变量的方式进行上下游传参

执行

  1. pytest -s -v testcases\test_process\test_main.py

image.png