返回

绑定手机号性能测试

见解分享

最近我遇到了一项与绑定手机号相关的压测需求。由于之前曾有过手机号登录的经验和测试数据,因此这次的测试过程相对简单。然而,其中有一个难点是要求开发人员配合调整配置。不过,好在这个问题已经在上一篇文章《手机号验证码登录性能测试》中得到了解决。

绑定手机号唯一的难点是如何在单账号绑定的过程中不断切换手机号,同时保证最后账号的绑定手机号还是原手机号。对于这个问题,我和开发人员进行了深入的讨论,并提出了以下解决方案:

  1. 创建多个测试账号 :我们创建了多个测试账号,每个账号都有自己的用户名和密码。

  2. 使用不同的手机号进行绑定 :在测试过程中,我们使用不同的手机号对每个测试账号进行绑定。

  3. 使用脚本切换手机号 :我们编写了一个脚本,用于在单账号绑定的过程中不断切换手机号。

  4. 验证最终绑定手机号 :在测试结束后,我们验证了每个测试账号的最终绑定手机号是否与原手机号一致。

通过上述方法,我们成功地解决了绑定手机号性能测试中的难点。

以下是我们在测试中的一些具体步骤和示例代码:

  1. 创建测试账号
import requests

def create_test_account(username, password):
  """
  创建测试账号

  Args:
    username: 用户名
    password: 密码

  Returns:
    测试账号的ID
  """

  url = "http://localhost:8000/api/v1/users/"
  data = {
    "username": username,
    "password": password
  }

  response = requests.post(url, json=data)
  response.raise_for_status()

  return response.json()["id"]
  1. 绑定手机号
import requests

def bind_phone_number(user_id, phone_number):
  """
  绑定手机号

  Args:
    user_id: 用户ID
    phone_number: 手机号

  Returns:
    绑定手机号的状态码
  """

  url = "http://localhost:8000/api/v1/users/{}/bind_phone_number/".format(user_id)
  data = {
    "phone_number": phone_number
  }

  response = requests.post(url, json=data)
  response.raise_for_status()

  return response.status_code
  1. 切换手机号
import requests

def switch_phone_number(user_id, phone_number):
  """
  切换手机号

  Args:
    user_id: 用户ID
    phone_number: 手机号

  Returns:
    切换手机号的状态码
  """

  url = "http://localhost:8000/api/v1/users/{}/switch_phone_number/".format(user_id)
  data = {
    "phone_number": phone_number
  }

  response = requests.post(url, json=data)
  response.raise_for_status()

  return response.status_code
  1. 验证最终绑定手机号
import requests

def verify_final_phone_number(user_id):
  """
  验证最终绑定手机号

  Args:
    user_id: 用户ID

  Returns:
    最终绑定手机号
  """

  url = "http://localhost:8000/api/v1/users/{}/".format(user_id)

  response = requests.get(url)
  response.raise_for_status()

  return response.json()["phone_number"]

以上是绑定手机号性能测试的一些具体步骤和示例代码。希望对大家有所帮助。