本文共 1837 字,大约阅读时间需要 6 分钟。
本文将介绍一个使用Locust框架编写的自动化测试脚本,用于对cnblogs.com的账户注册与登录功能进行验证。通过模拟用户行为,确保注册流程的稳定性和可靠性。
from locust import TaskSet, task, HttpLocustimport queueclass UserBehavior(TaskSet): @task def test_register(self): try: data = self.locust.user_data_queue.get_nowait() print(f'注册用户:{data["username"]}, 密码:{data["password"]}') payload = { 'username': data['username'], 'password': data['password'] } response = self.client.post('/user/signin?ReturnUrl=https%3A%2F%2Fwww.cnblogs.com%', data=payload) self.locust.user_data_queue.put_nowait(data) self.assert_response(status_code=200) except queue.Empty: print('账户数据已用完,测试结束。') exit(0) class WebsiteUser(HttpLocust): host = 'https://passport.cnblogs.com' task_set = UserBehavior user_data_queue = queue.Queue() def __init__(self): self.user_data_queue = user_data_queue @task def login(self): for index in range(100): data = { 'username': f'test{index:04d}', 'password': f'pwd{index:04d}', 'email': f'test{index:04d}@debugtalk.test', 'phone': f'186{index:08d}' } self.user_data_queue.put_nowait(data) queue.Queue确保先进先出的原则,防止数据丢失。通过运行脚本可以观察以下结果:
本文介绍了一个使用Locust框架的自动化测试脚本,用于cnblogs.com账户的注册与登录验证。通过队列管理和模拟用户行为,确保了系统的稳定性和可靠性。