当前位置:首页>python>Python接口开发最实用的20个Skills:从传统手工到AI智能化的进阶之路

Python接口开发最实用的20个Skills:从传统手工到AI智能化的进阶之路

  • 2026-06-30 03:41:52
Python接口开发最实用的20个Skills:从传统手工到AI智能化的进阶之路

在接口自动化测试领域,Python凭借其简洁的语法、强大的库生态和AI集成能力,成为从传统手工测试转向智能化测试的核心工具。以下20个实用技能,覆盖基础开发、自动化框架、AI赋能和工程化落地,助你构建高效、智能的接口测试体系。

一、基础开发技能:夯实接口测试根基

Requests库的进阶用法

技能点:掌握requests.Session()保持会话、hooks钩子函数、proxies代理配置、timeout超时控制。

应用场景:处理需要登录态的接口链路(如先登录获取token,再调用业务接口),模拟弱网环境测试。

代码示例:

import requestssession = requests.Session()# 登录获取tokenlogin_resp = session.post("http://api.example.com/login", json={"user""test""pwd""123456"})token = login_resp.json()["token"]# 携带token调用业务接口headers = {"Authorization": f"Bearer {token}"}resp = session.get("http://api.example.com/user/profile", headers=headers, timeout=5)

Pytest框架的核心特性

技能点:使用@pytest.fixture管理测试前置/后置(如数据库连接、测试数据清理),@pytest.mark.parametrize实现数据驱动,conftest.py全局配置。

应用场景:批量测试同一接口的不同参数组合,自动清理测试产生的脏数据。

代码示例:

import pytest@pytest.fixturedef db_connection():    conn = create_db_connection()    yield conn    conn.close()  # 测试结束后自动关闭连接@pytest.mark.parametrize("user_id, expected_status", [(1200), (999404)])def test_get_user(db_connection, user_id, expected_status):    resp = requests.get(f"http://api.example.com/users/{user_id}")    assert resp.status_code == expected_status

JSON数据的处理与校验

技能点:使用json库解析响应,jsonpath提取嵌套字段,jsonschema校验响应结构。

应用场景:验证接口返回的JSON是否符合预期格式(如包含必填字段、字段类型正确)。

代码示例:

import jsonschemaschema = {    "type""object",    "properties": {"code": {"type""integer"}, "data": {"type""object"}},    "required": ["code""data"]}resp_json = {"code": 200, "data": {"name""test"}}jsonschema.validate(resp_json, schema)  # 校验通过则无异常,否则抛出ValidationError

数据库操作辅助测试

技能点:使用pymysql(MySQL)、pymongo(MongoDB)连接数据库,执行SQL/MQL查询构造测试数据。

应用场景:接口测试前准备数据库中的有效用户ID,测试后清理产生的订单数据。

代码示例:

import pymysqlconn = pymysql.connect(host="localhost", user="root", password="password", database="test_db")cursor = conn.cursor()cursor.execute("SELECT id FROM users WHERE status=1 LIMIT 1")user_id = cursor.fetchone()[0]  # 获取有效用户ID用于接口测试cursor.close()conn.close()‍

二、自动化框架技能:提升测试效率与可维护性

接口测试框架的封装

技能点:封装BaseApi类,统一处理请求发送、日志记录、异常捕获,实现get/post/put/delete等通用方法。

应用场景:减少重复代码,统一测试框架的请求逻辑,便于后续扩展(如添加全局鉴权)。

代码示例:

class BaseApi:    def __init__(self, base_url):        self.base_url = base_url        self.session = requests.Session()    def send_request(self, method, url, **kwargs):        full_url = self.base_url + url        try:            resp = self.session.request(method, full_url, **kwargs)            logging.info(f"请求: {method}{full_url}, 响应: {resp.text}")            return resp        except Exception as e:            logging.error(f"请求失败: {e}")            raise

测试数据的动态生成

技能点:使用Faker库生成随机姓名、邮箱、手机号等测试数据,结合random库生成随机数值。

应用场景:避免硬编码测试数据,覆盖边界值(如超长字符串、特殊字符)。

代码示例:

from faker import Fakerfake = Faker("zh_CN")name = fake.name()  # 生成随机中文姓名email = fake.email()  # 生成随机邮箱

测试报告的美化与可视化

技能点:集成Allure生成可视化测试报告,展示用例执行结果、失败日志、响应截图。

应用场景:向团队展示测试进度,快速定位失败用例的原因。

配置步骤:

安装allure-pytest:pip install allure-pytest执行测试生成数据:pytest --alluredir=./report_data生成报告:allure generate ./report_data -o ./report --clean

持续集成(CI)的对接

技能点:将Python接口测试脚本接入Jenkins/GitLab CI,实现代码提交后自动触发测试。

应用场景:每次接口代码更新后,自动运行测试用例,及时发现回归问题。

Jenkins配置示例:

pipeline {    agent any    stages {        stage("拉取代码") {            steps {                git url"http://git.example.com/test_project.git"            }        }        stage("执行测试") {            steps {                sh "pip install -r requirements.txt"                sh "pytest test_api.py --alluredir=./report_data"            }        }        stage("生成报告") {            steps {                sh "allure generate ./report_data -o ./report --clean"            }        }    }}‍

三、AI赋能技能:从“自动化”到“智能化”

AI生成接口测试用例

技能点:调用大模型API(如OpenAI、GLM-5),输入接口文档(Swagger/OpenAPI),自动生成包含正向、异常场景的测试用例。

应用场景:快速为新接口生成测试脚本,覆盖人工容易遗漏的边界情况(如参数为空、类型错误)。

代码示例:

from openai import OpenAIclient = OpenAI(api_key="your_api_key")swagger_json = {    "path""/api/users",    "method""POST",    "parameters": {"name": {"type""string""required"True}, "age": {"type""integer"}}}prompt = f"""根据以下接口信息生成测试用例:接口路径: {swagger_json['path']}方法: {swagger_json['method']}参数: {swagger_json['parameters']}要求:包含1个正向用例(参数正确)和3个异常用例(参数缺失、类型错误、超长)。输出JSON格式:[{"description""xxx""request": {}, "expected_status": 200}]"""response = client.chat.completions.create(model="gpt-4", messages=[{"role""user""content": prompt}])test_cases = json.loads(response.choices[0].message.content)

AI自动编写断言逻辑

技能点:输入接口响应数据,让AI生成包含字段存在性、类型校验、业务逻辑校验的断言代码。

应用场景:避免手动编写大量断言,快速覆盖响应中的关键字段(如code=200、data包含user_id)。

代码示例:

response_schema = {"code"200"data": {"user_id"123"name""test"}}prompt = f"""根据以下响应数据生成Python断言:{response_schema}要求:检查code是否为200,data中是否包含user_id和name,user_id是否为整数。"""response = client.chat.completions.create(model="gpt-4", messages=[{"role""user""content": prompt}])assert_code = response.choices[0].message.content# 输出示例:assert resp_json["code"] == 200; assert "user_id" in resp_json["data"]; assert isinstance(resp_json["data"]["user_id"], int)

AI自动提取接口依赖

技能点:分析接口文档,让AI识别接口间的依赖关系(如“创建订单”依赖“登录”获取的token),自动生成接口调用链路。

应用场景:处理复杂的多接口链路测试(如注册→登录→创建订单→支付),避免手动编排调用顺序。

实现逻辑:

输入Swagger文档的所有接口路径和方法。

让AI分析每个接口的参数来源(如“Authorization”字段依赖登录接口的响应)。

输出接口调用顺序和参数传递规则。

AI智能重试与失败自愈

技能点:使用AI判断测试失败原因(如网络超时、服务临时不可用),自动执行重试或调用运维接口(如重启服务)。

应用场景:减少偶发性失败对测试结果的影响,提升测试稳定性。

代码示例:

import timedef ai_retry(func, max_retries=3):    for i in range(max_retries):        try:            return func()        except Exception as e:            if "网络超时" in str(e) and i < max_retries - 1:                delay = 2 ** i  # 指数退避                time.sleep(delay)            else:                raise# 使用示例:ai_retry(lambda: requests.get("http://api.example.com/status"))

AI生成测试数据

技能点:输入业务场景描述(如“生成10个有效的用户信息”),让AI生成符合业务规则的测试数据(如姓名、身份证号、手机号)。

应用场景:快速构造大量符合业务逻辑的测试数据,避免手动编写Faker规则。

代码示例:

prompt = "生成10个中国用户信息,包含姓名、身份证号、手机号,输出JSON格式"response = client.chat.completions.create(model="gpt-4", messages=[{"role""user""content": prompt}])test_data = json.loads(response.choices[0].message.content)

四、工程化落地技能:保障测试体系的可扩展性

接口文档的自动解析

技能点:使用swagger-parser或json库解析Swagger/OpenAPI文档,提取接口路径、方法、参数、响应等信息。

应用场景:自动同步接口文档变更,生成或更新测试用例。

代码示例:

import requestsswagger_resp = requests.get("http://api.example.com/v2/api-docs")swagger_json = swagger_resp.json()paths = swagger_json["paths"]  # 获取所有接口路径for path, methods in paths.items():    for methoddetailsinmethods.items():        print(f"接口: {method.upper()} {path}, 参数: {details.get('parameters', [])}")

测试数据的隔离与清理

技能点:使用pytest的fixture实现测试数据的自动创建和销毁,避免不同用例之间的数据干扰。

应用场景:每个测试用例使用独立的测试数据(如独立的用户、订单),测试结束后自动删除。

代码示例:

@pytest.fixturedef test_user():    # 创建测试用户    user_id = create_user_in_db()    yield user_id    # 删除测试用户    delete_user_from_db(user_id)def test_update_user(test_user):    user_id = test_user    resp = requests.put(f"http://api.example.com/users/{user_id}", json={"name""new_name"})    assert resp.status_code == 200

日志的标准化与追踪

技能点:使用logging库记录测试过程中的请求、响应、错误信息,结合trace_id实现全链路追踪。

应用场景:快速定位测试失败的原因,关联接口请求与后端日志。

代码示例:

import loggingimport uuidlogging.basicConfig(level=logging.INFO, format="%(asctime)s - %(trace_id)s - %(message)s")def send_request_with_trace(url, data):    trace_id = str(uuid.uuid4())    logging.info(f"请求: {url}, 数据: {data}, trace_id: {trace_id}")    resp = requests.post(url, json=data, headers={"X-Trace-Id": trace_id})    logging.info(f"响应: {resp.text}, trace_id: {trace_id}")    return resp

性能测试的集成

技能点:使用locust或pytest-benchmark对接口进行性能测试,监控响应时间、吞吐量、错误率。

应用场景:在接口功能测试的基础上,验证接口的性能是否满足要求(如P99响应时间<1s)。

Locust代码示例:

from locust import HttpUser, taskclass ApiUser(HttpUser):    @task    def get_user_profile(self):        self.client.get("/api/user/profile")    @task(3)    def search_products(self):        self.client.post("/api/products/search", json={"keyword""手机"})

安全测试的基础覆盖

技能点:使用requests模拟SQL注入、XSS攻击等常见安全漏洞,验证接口的安全防护能力。

应用场景:在功能测试之外,检查接口是否存在安全风险(如参数未校验、敏感信息泄露)。

代码示例:

# SQL注入测试sql_injection_payload = "1' OR '1'='1"resp = requests.get(f"http://api.example.com/users/{sql_injection_payload}")assert resp.status_code == 400  # 期望返回400错误,说明接口有SQL注入防护

多环境配置的切换

技能点:使用os.environ或yaml文件管理不同环境(测试、预发、生产)的配置(如base_url、数据库连接),避免硬编码。

应用场景:同一套测试脚本可以在不同环境运行,只需切换配置文件。

代码示例:

import osenv = os.environ.get("ENV""test")  # 默认测试环境config = {    "test": {"base_url""http://test.api.example.com"},    "prod": {"base_url""http://api.example.com"}}base_url = config[env]["base_url"]

测试结果的智能分析

技能点:使用pandas分析测试报告数据,统计失败用例的分布(如按接口、按失败原因),生成趋势图。

应用场景:识别高频失败的接口,优先修复核心问题,优化测试策略。

代码示例:

import pandas as pd# 读取Allure生成的测试结果CSVdf = pd.read_csv("test_results.csv")# 统计各接口的失败次数failure_count = df[df["status"] == "failed"]["api_path"].value_counts()print(failure_count)# 输出示例:# /api/orders    15# /api/users     8# /api/products  3‍

总结:从“手工”到“智能”的关键跨越

传统接口自动化测试依赖人工编写脚本、维护用例,效率低且容易遗漏场景。而结合AI的智能化测试,通过“AI生成用例”“AI自动断言”“AI智能重试”等技能,将测试人员从重复劳动中解放出来,聚焦于测试策略设计和复杂场景分析。

掌握这20个Python接口开发技能,不仅能构建高效的自动化测试框架,更能借助AI实现测试流程的智能化升级,让接口测试从“被动验证”转向“主动预防”,为产品质量保驾护航。‍

 每一次互动,皆是鼓励, 每一份支持,共促成长。

商务合作:RYXtest

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-07-03 21:43:37 HTTP/2.0 GET : https://f.mffb.com.cn/a/490899.html
  2. 运行时间 : 0.166578s [ 吞吐率:6.00req/s ] 内存消耗:4,857.49kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=210667f779098f090f7d7096e27e3cdc
  1. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_static.php ( 4.90 KB )
  7. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  10. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  11. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  12. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  13. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  14. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  15. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  16. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  17. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  18. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  19. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  21. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  22. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/provider.php ( 0.19 KB )
  23. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  24. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  25. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  26. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/common.php ( 0.03 KB )
  27. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  28. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  29. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/app.php ( 0.95 KB )
  30. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cache.php ( 0.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/console.php ( 0.23 KB )
  32. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cookie.php ( 0.56 KB )
  33. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/database.php ( 2.48 KB )
  34. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  35. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/filesystem.php ( 0.61 KB )
  36. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/lang.php ( 0.91 KB )
  37. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/log.php ( 1.35 KB )
  38. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/middleware.php ( 0.19 KB )
  39. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/route.php ( 1.89 KB )
  40. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/session.php ( 0.57 KB )
  41. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/trace.php ( 0.34 KB )
  42. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/view.php ( 0.82 KB )
  43. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/event.php ( 0.25 KB )
  44. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  45. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/service.php ( 0.13 KB )
  46. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/AppService.php ( 0.26 KB )
  47. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  48. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  49. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  50. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  51. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  52. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/services.php ( 0.14 KB )
  53. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  54. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  55. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  56. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  57. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  58. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  59. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  60. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  61. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  62. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  63. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  64. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  65. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  66. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  67. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  68. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  69. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  70. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  71. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  72. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  73. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  74. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  75. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  76. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  77. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  78. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  79. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  80. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  81. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  82. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  83. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/Request.php ( 0.09 KB )
  84. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  85. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/middleware.php ( 0.25 KB )
  86. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  87. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  88. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  89. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  90. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  91. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  92. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  93. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  94. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  95. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  96. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  97. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  98. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  99. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/route/app.php ( 1.72 KB )
  100. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  101. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  102. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  103. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/controller/Index.php ( 4.81 KB )
  104. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/BaseController.php ( 2.05 KB )
  105. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  106. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  108. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  109. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  110. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  111. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  112. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  113. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  114. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  115. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  116. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  117. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  118. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  119. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  120. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  121. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  122. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  123. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  124. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  125. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  126. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  127. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  128. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  129. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  130. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  131. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  132. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  133. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  134. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  135. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  136. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  137. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  138. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  139. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/runtime/temp/067d451b9a0c665040f3f1bdd3293d68.php ( 11.98 KB )
  140. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000624s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000761s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.002061s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000324s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000514s ]
  6. SELECT * FROM `set` [ RunTime:0.000209s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000586s ]
  8. SELECT * FROM `article` WHERE `id` = 490899 LIMIT 1 [ RunTime:0.002118s ]
  9. UPDATE `article` SET `lasttime` = 1783086217 WHERE `id` = 490899 [ RunTime:0.026226s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 66 LIMIT 1 [ RunTime:0.007322s ]
  11. SELECT * FROM `article` WHERE `id` < 490899 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.011444s ]
  12. SELECT * FROM `article` WHERE `id` > 490899 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.002901s ]
  13. SELECT * FROM `article` WHERE `id` < 490899 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.028095s ]
  14. SELECT * FROM `article` WHERE `id` < 490899 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.005714s ]
  15. SELECT * FROM `article` WHERE `id` < 490899 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.002134s ]
0.170254s