$error, 'http_code' => $httpCode];
}
return ['response' => $response, 'http_code' => $httpCode];
}
/**
* 测试用例1:正常更新骑手基本信息
*/
echo "测试1:正常更新骑手基本信息\n";
echo "----------------------------------------\n";
$test_data = [
'rider_id' => $test_rider_id,
'rider_name' => '张三测试',
'rider_phone' => '13800138001',
'emergency_name' => '李四',
'emergency_phone' => '13900139001',
'emergency_relation' => '父亲',
'work_status' => 1,
'status' => 1
];
$result = sendPostRequest($base_url . '/index.php/Retail/Rider/updateRider', $test_data);
if (isset($result['error'])) {
echo "请求错误: " . $result['error'] . "\n";
} else {
echo "HTTP状态码: " . $result['http_code'] . "\n";
echo "响应内容: " . $result['response'] . "\n";
$response_data = json_decode($result['response'], true);
if ($response_data) {
echo "解析结果: \n";
echo "- 状态: " . ($response_data['status'] ? '成功' : '失败') . "\n";
echo "- 消息: " . $response_data['msg'] . "\n";
if (isset($response_data['data'])) {
echo "- 更新字段: " . implode(', ', $response_data['data']['updated_fields']) . "\n";
}
}
}
echo "\n";
/**
* 测试用例2:参数验证 - 缺少rider_id
*/
echo "测试2:参数验证 - 缺少rider_id\n";
echo "----------------------------------------\n";
$test_data = [
'rider_name' => '测试骑手'
];
$result = sendPostRequest($base_url . '/index.php/Retail/Rider/updateRider', $test_data);
if (isset($result['error'])) {
echo "请求错误: " . $result['error'] . "\n";
} else {
echo "HTTP状态码: " . $result['http_code'] . "\n";
echo "响应内容: " . $result['response'] . "\n";
}
echo "\n";
/**
* 测试用例3:数据验证 - 手机号格式错误
*/
echo "测试3:数据验证 - 手机号格式错误\n";
echo "----------------------------------------\n";
$test_data = [
'rider_id' => $test_rider_id,
'rider_phone' => '12345678901' // 错误的手机号格式
];
$result = sendPostRequest($base_url . '/index.php/Retail/Rider/updateRider', $test_data);
if (isset($result['error'])) {
echo "请求错误: " . $result['error'] . "\n";
} else {
echo "HTTP状态码: " . $result['http_code'] . "\n";
echo "响应内容: " . $result['response'] . "\n";
}
echo "\n";
/**
* 测试用例4:数据验证 - 身份证号格式错误
*/
echo "测试4:数据验证 - 身份证号格式错误\n";
echo "----------------------------------------\n";
$test_data = [
'rider_id' => $test_rider_id,
'id_card' => '123456789012345678' // 错误的身份证号格式
];
$result = sendPostRequest($base_url . '/index.php/Retail/Rider/updateRider', $test_data);
if (isset($result['error'])) {
echo "请求错误: " . $result['error'] . "\n";
} else {
echo "HTTP状态码: " . $result['http_code'] . "\n";
echo "响应内容: " . $result['response'] . "\n";
}
echo "\n";
/**
* 测试用例5:数据验证 - 健康证过期时间为过去时间
*/
echo "测试5:数据验证 - 健康证过期时间为过去时间\n";
echo "----------------------------------------\n";
$test_data = [
'rider_id' => $test_rider_id,
'health_cert_expire' => '2020-01-01' // 过去的时间
];
$result = sendPostRequest($base_url . '/index.php/Retail/Rider/updateRider', $test_data);
if (isset($result['error'])) {
echo "请求错误: " . $result['error'] . "\n";
} else {
echo "HTTP状态码: " . $result['http_code'] . "\n";
echo "响应内容: " . $result['response'] . "\n";
}
echo "\n";
/**
* 测试用例6:位置信息更新
*/
echo "测试6:位置信息更新\n";
echo "----------------------------------------\n";
$test_data = [
'rider_id' => $test_rider_id,
'last_location_lat' => 39.9042,
'last_location_lng' => 116.4074
];
$result = sendPostRequest($base_url . '/index.php/Retail/Rider/updateRider', $test_data);
if (isset($result['error'])) {
echo "请求错误: " . $result['error'] . "\n";
} else {
echo "HTTP状态码: " . $result['http_code'] . "\n";
echo "响应内容: " . $result['response'] . "\n";
}
echo "\n";
/**
* 测试用例7:不存在的骑手ID
*/
echo "测试7:不存在的骑手ID\n";
echo "----------------------------------------\n";
$test_data = [
'rider_id' => 99999, // 不存在的ID
'rider_name' => '测试骑手'
];
$result = sendPostRequest($base_url . '/index.php/Retail/Rider/updateRider', $test_data);
if (isset($result['error'])) {
echo "请求错误: " . $result['error'] . "\n";
} else {
echo "HTTP状态码: " . $result['http_code'] . "\n";
echo "响应内容: " . $result['response'] . "\n";
}
echo "\n";
/**
* 测试用例8:XSS攻击测试
*/
echo "测试8:XSS攻击测试\n";
echo "----------------------------------------\n";
$test_data = [
'rider_id' => $test_rider_id,
'rider_name' => '',
'emergency_name' => '
'
];
$result = sendPostRequest($base_url . '/index.php/Retail/Rider/updateRider', $test_data);
if (isset($result['error'])) {
echo "请求错误: " . $result['error'] . "\n";
} else {
echo "HTTP状态码: " . $result['http_code'] . "\n";
echo "响应内容: " . $result['response'] . "\n";
}
echo "\n";
echo "=== 测试完成 ===\n";
echo "\n使用说明:\n";
echo "1. 请根据实际情况修改 \$base_url 和 \$test_rider_id\n";
echo "2. 确保数据库中存在对应的骑手记录\n";
echo "3. 如果测试失败,请检查:\n";
echo " - 数据库连接是否正常\n";
echo " - 相关Model类是否存在\n";
echo " - 权限验证是否通过\n";
echo " - 日志文件中的错误信息\n";
?>