利用分层的方式将文件分层

项目目录

image.png
config/utils.py

  1. """
  2. 定义常用的工具类
  3. """
  4. import random
  5. def get_phone():
  6. """
  7. 生成随机的11位手机号码
  8. 手机号的前缀; ['13','17','18','15']
  9. 后面需要随机生成 9位数。
  10. :return:
  11. """
  12. # 手机号码前缀 从列表中随机选择其中的一个值
  13. pre_phone = random.choice(['13','17','18','15'])
  14. # 随机的一个值
  15. nums = ""
  16. for i in range(9):
  17. # 每次随机的时候 生成 0-9 之间的一个数字
  18. num = random.randint(0,9)
  19. # 每次生成一个新的随机值 做一次拼接
  20. nums = nums + str(num)
  21. # 前缀和后面的值拼接在一起 组成手机号
  22. return pre_phone+nums

config/baseconfig.py

  1. """
  2. 项目运行的常见配置
  3. """
  4. from config.utils import get_phone
  5. class BaseConfig:
  6. BASEURL = "http://49.233.108.117:28019/"
  7. PHONE = get_phone()
  8. TOKEN = None

page/useraction.py

  1. """
  2. 用户相关的操作
  3. """
  4. from config.baseconfig import BaseConfig
  5. import requests
  6. import hashlib
  7. class UserAction:
  8. def user_register(self):
  9. """
  10. 注册用户
  11. :return:
  12. """
  13. url = BaseConfig.BASEURL+"api/v1/user/register"
  14. body_data = {
  15. "loginName": BaseConfig.PHONE, # 通过调用函数 生成手机号码
  16. "password": "123456"
  17. }
  18. print(f'现在进行注册:用户名{BaseConfig.PHONE},密码为123456')
  19. # 发送 json 格式 post请求
  20. r = requests.post(url, json=body_data)
  21. # 状态码
  22. print(r.status_code)
  23. print(r.json())
  24. def user_login(self):
  25. """
  26. 用户登录
  27. :return:
  28. """
  29. passwd = hashlib.md5('123456'.encode()).hexdigest()
  30. url = f"{BaseConfig.BASEURL}api/v1/user/login"
  31. body_data = {
  32. "loginName": BaseConfig.PHONE,
  33. "passwordMd5": passwd # 使用md5 加密之后的密文进行登录
  34. }
  35. print(f'现在进行登录: 用户名为 {BaseConfig.PHONE},加密之后的密码 {passwd}')
  36. r = requests.post(url, json=body_data)
  37. print(r.status_code)
  38. print(r.json())
  39. print("登录成功的token值:", r.json()["data"])
  40. # 将登录成功的token 值更新到类变量中
  41. BaseConfig.TOKEN = r.json()['data']
  42. def user_search(self):
  43. """
  44. 搜索商品
  45. :return:
  46. """
  47. url = "http://49.233.108.117:28019/api/v1/search"
  48. qury_data = {
  49. "keyword": "iphone"
  50. }
  51. header = {
  52. # 使用类变量 获取最新的token值
  53. "token": BaseConfig.TOKEN
  54. }
  55. print(f'现在搜索商品,使用信息头: {header}')
  56. r = requests.get(url, params=qury_data, headers=header)
  57. print('搜索结果', r.json())

在main.py 文件中引用

  1. from page.useraction import UserAction
  2. if __name__ == '__main__':
  3. us = UserAction()
  4. us.user_register()
  5. us.user_login()
  6. us.user_search()

附件

main.zip