当前位置:首页>python>《Python 从入门到精通》157|自动化测试脚本初识:程序也能帮你点页面

《Python 从入门到精通》157|自动化测试脚本初识:程序也能帮你点页面

  • 2026-09-01 07:48:29
《Python 从入门到精通》157|自动化测试脚本初识:程序也能帮你点页面

一、程序为什么真的能帮你点页面

很多人第一次接触网页自动化,都会有个很直接的疑问:

浏览器页面不是给人点的吗,程序怎么可能自己打开网页、输入账号、点击按钮、提交表单,甚至把结果再读出来。

答案其实不神秘。

网页本质上是由一堆元素组成的,比如输入框、按钮、链接、下拉框、表格、弹窗。你平时用鼠标点,用键盘输,本质上是在和这些元素交互。程序做的事情并没有变,只是把人的动作翻译成了代码指令:

打开网页 找到输入框 输入文字 找到按钮 执行点击 等待页面变化 读取结果 判断是否成功

也就是说,自动化脚本不是在模仿人的思维,而是在模仿人的操作路径。

这就是为什么它常常被叫做浏览器自动化,或者页面自动化。

二、为什么会需要这种脚本

因为很多网页操作并不难,只是重复。

比如:

每天登录后台导出数据 反复测试登录、搜索、提交、退出 批量查询订单状态 进入多个页面检查按钮是否可用 把同一套表单在不同账号下重复填写 验证活动页面在手机和电脑下是否正常 检查网页改版后,核心流程有没有被改坏

这些任务,如果只做一次,人做很快。可一旦要做几十次、几百次,人工就会开始出现几个明显问题:

慢 容易漏 容易点错 很难稳定复现 同一个问题今天能重现,明天未必说得清步骤

自动化脚本的价值就在这里。它不怕重复,不会嫌麻烦,也更容易把步骤固定下来。

三、什么叫自动化测试脚本

这一章说的是自动化测试脚本初识,不是泛泛的网页自动化,所以要先把测试这两个字理解清楚。

所谓自动化测试脚本,本质上是:

把原本人工验证网页功能是否正常的一套步骤,写成程序,让程序自己去执行,并给出结果。

比如你本来手工测试登录功能,要这样做:

打开登录页 输入账号 输入密码 点击登录 看是否跳到首页 看页面是否出现用户昵称

把这套动作翻译成脚本后,程序就能自动完成,并告诉你:

登录成功 登录失败 页面没跳转 按钮没找到 输入框不可用 结果和预期不一致

所以自动化测试脚本,重点不是点没点页面,而是:

点完之后要验证结果。

只会点、不会判断,最多算自动操作。 会点、会等、会判断、会报结果,才更接近测试脚本。

四、它和普通爬虫、接口请求有什么区别

这三个东西很容易混。

先说爬虫。爬虫更偏向取数据。它的重点通常是:

请求网页 拿到内容 解析数据 保存结果

很多爬虫甚至不需要真正打开浏览器。

再说接口请求。接口测试或接口调用,常常是直接对后端地址发请求,比如 GET、POST。它不一定经过页面,也不一定看到按钮和输入框。

而页面自动化测试脚本关注的是前端可见流程。它验证的是:

这个页面能不能打开 这个按钮能不能点 这个输入框能不能输 点击后页面有没有正确跳转 结果区域有没有正确显示 弹窗是不是按预期出现 整个用户路径是不是顺畅

所以你可以先这样记:

接口自动化,测的是接口。 爬虫,拿的是数据。 页面自动化测试,测的是用户看得见、点得到的那条流程。

五、什么场景特别适合用页面自动化

不是所有网页操作都值得自动化,但下面这些场景特别典型。

1. 高频回归测试

每次网页改版、上线、修 bug 后,都要重新确认:

登录还能不能用 搜索还能不能用 下单还能不能走通 退出还能不能成功

这类核心流程特别适合自动化,因为每次上线都要重跑。

2. 重复性后台操作

比如固定时间进入后台导出表格、查询状态、录入一些规则明确的内容。这类任务本质上也适合页面自动化。

3. 多组数据重复验证

比如同一个注册页面,要测多组用户名、密码、邮箱组合。人工一个个点很烦,脚本更合适。

4. 跨页面长流程验证

比如登录后进入列表页,再进入详情页,再提交审批,再看结果页。步骤多了以后,自动化价值就明显了。

5. 稳定规则的办公流程

比如固定系统、固定表单、固定按钮、固定导出路径,这类半测试、半办公的场景很适合自动化。

六、什么场景不适合一上来就写页面自动化

这一点也很重要。

1. 页面天天改,元素位置老变

如果页面还在频繁大改,按钮和结构每天都不一样,脚本会很脆,维护成本很高。

2. 流程本身还没定型

流程今天三步,明天五步,后天又改字段,这时先别急着自动化。

3. 一次性任务

只做一两次的操作,人工点一下可能比写脚本更快。

4. 强依赖验证码、短信、人脸等人工确认

这类流程不是完全不能自动化,但复杂度会明显上升,入门阶段不适合作为第一选择。

所以自动化不是越早上越好,而是规则够稳定时上才最值。

七、页面自动化脚本,通常是怎么工作的

无论你后面用什么工具,思路都差不多,基本都是下面这条链路:

启动浏览器 打开目标网页 定位页面元素 执行操作 等待页面变化 读取结果 断言是否符合预期 记录日志或截图

这里每一步都很关键。

启动浏览器,不只是打开一个窗口,而是让程序获得对浏览器的控制权。 定位元素,就是告诉程序你到底要点谁、输到哪。 等待页面变化,是因为网页不是每次都瞬间加载。 断言结果,是为了判断这一步到底算成功还是失败。

这几步连起来,才是一条完整的自动化测试路径。

八、页面里的元素,到底是什么

这一步非常关键,不然后面你会一直觉得脚本像玄学。

你在网页里能交互的东西,大体都可以看作元素。比如:

输入框 按钮 链接 下拉框 复选框 表格 提示文字 弹窗 图片 标签页

程序控制页面,核心就是先找到元素,再操作元素。

比如:

找到用户名输入框 往里面输入 admin 找到密码框 输入 123456 找到登录按钮 执行点击 找到页面里的欢迎文字 读取出来,判断是不是预期内容

所以页面自动化并不是“控制整个网页”,而是“找到具体元素,并对它们做动作”。

九、程序怎么找到页面元素

这是所有页面自动化的基础。

常见思路有:

按 id 找 按 name 找 按 class 找 按标签找 按文本找 按 XPath 找 按 CSS 选择器找

你现在先不用死背各种写法,但一定要先建立一个理解:

程序不能凭感觉点页面,它必须先有明确定位方法。

比如一个登录按钮,如果页面里有独立的 id,那就很好找。 如果没有,就可能要通过层级关系、文本、属性组合来找。

这也是为什么页面自动化里,定位元素常常比点击本身更重要。 因为“点一下”很简单,难的是“准确找到它”。

十、为什么很多自动化脚本不是点错,而是根本没等到页面加载完

新手最常见的问题之一就是:

代码明明没错,但就是报找不到元素。

很多时候不是元素不存在,而是页面还没加载完,脚本已经着急往下跑了。

比如你点了登录按钮,页面跳转需要两秒。可脚本一点击完,下一行就立刻去找首页元素。结果首页还没出来,自然报错。

这时候就引出一个非常核心的概念:

等待。

页面自动化里,等待不是多余动作,而是稳定性的关键。 后面学 Selenium 时,你会系统接触显式等待、隐式等待这些内容。现在先建立一个直觉就够:

脚本跑得太快,网页未必跟得上。 很多不稳定,不是逻辑错,而是没等。

十一、什么叫断言,为什么测试脚本一定要有它

这一点必须单独讲。

假设你写了一段脚本:

打开网页 输入账号密码 点击登录

如果脚本到这里就结束,那它只能说明程序执行了这些动作,不代表登录真的成功。

测试脚本真正要回答的是:

结果符不符合预期。

比如:

页面标题是不是变成首页 当前 URL 有没有跳转 页面中是否出现欢迎用户 错误提示有没有消失 结果表格是否真的加载出来

这种“拿实际结果和预期结果做比较”的动作,就叫断言。

所以测试脚本的本质不是自动点击,而是:

自动执行步骤 + 自动验证结果。

这一点和普通办公自动化最大的差别就在这里。

十二、一个最简单的页面自动化思维例子

假设你要测试一个搜索框。

人工做法是:

打开网页 输入 Python 点搜索 看结果页里有没有 Python 相关结果

翻译成脚本思维就是:

打开网页 找到搜索框 输入 Python 找到搜索按钮 点击 等待结果页加载 读取结果区域文字 判断结果中是否包含 Python

你会发现,自动化测试脚本其实一点都不神秘。 它只是把人的动作拆成了更细、更明确、更可执行的步骤。

十三、为什么说它特别适合测试重复流程

因为很多核心流程,你不是只测一次。

比如一个系统上线前,测试同学可能要反复验证:

登录 注册 找回密码 搜索 添加购物车 下单 支付前跳转 退出登录

这些流程一旦固定下来,后面每次改代码、每次发版、每次修 bug,都要重新验证。 如果全靠人工,成本很高,而且容易漏。

这时候自动化脚本最大的价值不是替代所有测试,而是先把最稳定、最关键、最常回归的路径接走。

这就是为什么很多团队自动化测试的第一步,往往不是覆盖所有页面,而是先盯住核心主流程。

十四、它在办公里也很实用,不只是测试团队才用

虽然这一章的主题是自动化测试脚本,但你要知道,这套能力并不只属于测试。

很多办公场景,本质上也在做页面自动化。

比如:

自动登录后台下载报表 自动进入管理页导出名单 自动查询订单再复制结果 自动填写固定网页表单 自动批量检查若干页面是否能打开 自动点击若干菜单完成重复动作

你会发现,它和测试脚本的差别只是目标不同。

测试更关注验证是否正确。 办公更关注流程是否省事。

但底层能力是共通的:

找元素 点元素 填数据 等结果 拿结果

这就是为什么后面学 Selenium,不只是测试方向能用,很多办公自动化也能用。

十五、自动化脚本为什么经常“不稳”

这是很多人第一次接触页面自动化时最头疼的问题。

明明昨天还能跑 今天就报错 有时成功 有时失败 换一台电脑又不一样

常见原因其实就那几类:

页面加载慢 元素定位不稳 页面结构改了 弹窗挡住了 窗口切换没处理 输入法、分辨率、浏览器版本不同 脚本没有等待 用了绝对路径式定位,页面稍一改就失效

所以页面自动化的难点,从来不是“会不会点击”,而是:

怎么让脚本稳定地、长期地、可维护地点击。

这也是为什么这一章先讲思路,不急着一口气深入工具细节。 因为如果概念没打稳,后面很容易陷进“代码会抄,但不懂为什么不稳”的状态里。

十六、一个成熟一点的页面自动化思维,通常会多做三件事

第一,先定位再操作。 不是看见按钮就点,而是先确认是不是那个按钮。

第二,操作后要等。 不是代码一跑到底,而是每一步都考虑页面是否已经准备好。

第三,操作完要验。 不是点完就算成功,而是看结果是不是符合预期。

这三件事一旦建立起来,你写的脚本就会明显更像测试脚本,而不是单纯的操作脚本。

十七、和接口自动化相比,页面自动化的优点和缺点是什么

优点很直观:

更贴近真实用户 能覆盖前端页面、按钮、跳转、表单交互 能发现接口测试发现不了的页面层问题 对非技术同学也更容易理解

缺点也很明显:

更慢 更容易受页面变化影响 更脆弱 更依赖等待和环境 维护成本通常比接口自动化高

所以很多正式项目里,常见做法不是只做页面自动化,而是:

接口层测稳定逻辑 页面层测关键路径

你现在先不用把它想得太复杂,只要知道:

页面自动化很重要,但不是唯一测试方式,也不是任何场景都该首选。

十八、入门阶段,最值得练的不是复杂项目,而是最小流程

比如你先练这几类就很够了:

打开页面 输入文本 点击按钮 读取文字 判断跳转 简单等待

只要这几个动作你真正理解了,后面学 Selenium 时就不会觉得每个 API 都像在背咒语。 因为你知道自己真正要实现的,其实就是:

打开 找到 输入 点击 等待 验证

工具只是把这六件事换成了具体代码。

十九、为什么这一章不急着把工具讲太深

因为这一章是初识,重点是认知建立,不是参数背诵。

你现在最需要的不是立刻记住一堆方法名,而是先真正接受这件事:

程序确实可以像人一样操作页面 而且这种能力在测试和办公里都非常有价值

后面下一章进入 Selenium 时,你再学具体工具,会顺很多。 因为你已经知道那些代码不是凭空存在的,而是在帮你做这些具体动作。

二十、这一章你最该带走的核心判断

以后你看到一个网页重复操作任务时,脑子里先问自己几件事:

这个流程是不是很重复 页面结构是不是相对稳定 关键步骤能不能明确拆出来 成功标准能不能定义出来 人工做是不是又慢又容易错

如果答案大多是“是”,那它就很可能值得考虑页面自动化。

这比你一上来就问“该用哪个库”更重要。 因为工具选择永远排在问题判断之后。

二十一、本章要点整理

自动化测试脚本的本质,是把人工验证网页功能的一套步骤写成程序,并自动判断结果是否符合预期。 程序之所以能操作页面,是因为网页由可定位、可交互的元素组成,比如按钮、输入框、链接和表单。 页面自动化常见流程包括:打开页面、定位元素、执行操作、等待变化、读取结果、做断言。 它和爬虫、接口请求不同,重点在于验证真实用户可见、可操作的页面流程。 页面自动化特别适合高频回归测试、重复后台操作、多数据组验证和规则明确的办公流程。 它的难点不在点击本身,而在元素定位、等待机制、结果验证和脚本稳定性。 入门阶段最重要的是先理解自动化脚本在做什么,再进入具体工具,比如下一章的 Selenium。

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-09-01 10:51:10 HTTP/2.0 GET : https://f.mffb.com.cn/a/512372.html
  2. 运行时间 : 0.133902s [ 吞吐率:7.47req/s ] 内存消耗:4,814.30kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=d13f24ab064ee33891a2049a5b3359b5
  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.001143s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001837s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000821s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000709s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001353s ]
  6. SELECT * FROM `set` [ RunTime:0.000584s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001443s ]
  8. SELECT * FROM `article` WHERE `id` = 512372 LIMIT 1 [ RunTime:0.001164s ]
  9. UPDATE `article` SET `lasttime` = 1788231070 WHERE `id` = 512372 [ RunTime:0.027746s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 66 LIMIT 1 [ RunTime:0.000639s ]
  11. SELECT * FROM `article` WHERE `id` < 512372 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.001266s ]
  12. SELECT * FROM `article` WHERE `id` > 512372 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.001156s ]
  13. SELECT * FROM `article` WHERE `id` < 512372 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.002883s ]
  14. SELECT * FROM `article` WHERE `id` < 512372 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.003418s ]
  15. SELECT * FROM `article` WHERE `id` < 512372 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.001808s ]
0.137767s