下面是一个使用Python编写的压力测试脚本示例,用于测试登录功能:
import requests
from concurrent.futures import ThreadPoolExecutor
import time
# 定义登录函数
def login(username, password):
url = 'http://example.com/login' # 替换为实际的登录接口地址
data = {
'username': username,
'password': password
}
response = requests.post(url, data=data)
return response.status_code
# 压力测试函数
def stress_test(username, password, num_requests, concurrency_level):
start_time = time.time()
success_count = 0
failure_count = 0
with ThreadPoolExecutor(max_workers=concurrency_level) as executor:
futures = [executor.submit(login, username, password) for _ in range(num_requests)]
for future in futures:
result = future.result()
if result == 200:
success_count += 1
else:
failure_count += 1
end_time = time.time()
total_time = end_time - start_time
print(f'Total requests: {num_requests}')
print(f'Successful requests: {success_count}')
print(f'Failed requests: {failure_count}')
print(f'Total time taken: {total_time} seconds')
# 执行压力测试
username = 'testuser'
password = 'password'
num_requests = 100 # 总请求数量
concurrency_level = 10 # 并发级别
stress_test(username, password, num_requests, concurrency_level)
这个脚本使用了concurrent.futures.ThreadPoolExecutor来实现并发执行登录请求,max_workers参数指定了并发级别。你可以根据需要修改总请求数量和并发级别。同时,需要将'http://example.com/login'替换为实际的登录接口地址。
请注意,压力测试需要谨慎使用,确保对目标系统的测试活动是可控的,以避免对系统稳定性和可用性造成负面影响。