启动iLogtail,Given subcribe data from {sls} with config,订阅器(Subscribe)插件是测试引擎中用于接收数据的组件,sls表示生成输出到logstore。Given {regex_single} local config as below,添加本地配置,启动input插件、processor插件,其中regex_single是配置名称,可根据功能进行构造,此配置中确保含有enable: true,否则配置无法执行。
触发日志生成,启动日志记录When begin trigger,利用现有的框架生成一系列事件,例如When generate {100} regex logs to file {/tmp/loongcollector/regex_single.log}, with interval {100}ms为生成文件日志。
验证日志内容,框架会获取采集到的日志,通过查询语句获取确定日之后,根据Then测试行为进行日志验证。查询语句例如,When query through {* | select * from e2e where call_name = 'tcp_connect' and arguments like '%http://www.baidu.com%'},查询日志call_name为tcp_connect,arguments包含http://www.baidu.com。
测试重点
根据功能要求设计查询语句,以便能够达到测试功能的目的
专注于查询的返回值,确保功能符合预期
保持测试的简洁性和可维护性
1---2name: e2e-manual3description: e2e测试指南4---5# e2e测试指南67## 测试框架89- E2E(BDD Godog)1011## 严格执行1213- 禁止改变被测试方法的任何行为14- 禁止更改engine中已有的测试行为15- 若需要记录日志,一定要在生成日志之前启动触发器`When begin trigger`16- 模板在test/engine/steps.go中注册,请务必使用已经注册的测试行为,不要自己生成,且行为类型一定要对应,例如wait {10} seconds,是Then类型行为,而不是When类型行为,因此一定为`Then wait {10} seconds`1718## 测试命名规范1920- 每个案例必须使用 `@e2e` 注解标记测试方法21- 必须标注环境,`@host`:表示该测试场景在host环境下运行;`@k8s`:表示该测试场景在k8s环境下运行;`@docker-compose`:表示该测试场景在本地启动docker-compose运行。22- 格式:`Test${被测试功能名}${案例简单说明}`23- 示例:`TestInputFileWithBlackListDir`、`TestInputFileWithRegexSingle`2425## 测试最佳实践2627### 测试流程2829- 创建测试环境,`Given {host} environment`,其中host代表构建主机环境,daemonset表示构建k8s环境,docker-compose表示容器环境(只有这个三个值,不要出现其他)30- 启动iLogtail,`Given subcribe data from {sls} with config`,订阅器(Subscribe)插件是测试引擎中用于接收数据的组件,sls表示生成输出到logstore。`Given {regex_single} local config as below`,添加本地配置,启动input插件、processor插件,其中regex_single是配置名称,可根据功能进行构造,此配置中确保含有`enable: true`,否则配置无法执行。31- 触发日志生成,启动日志记录`When begin trigger`,利用现有的框架生成一系列事件,例如`When generate {100} regex logs to file {/tmp/loongcollector/regex_single.log}, with interval {100}ms`为生成文件日志。32- 验证日志内容,框架会获取采集到的日志,通过查询语句获取确定日之后,根据`Then`测试行为进行日志验证。查询语句例如,`When query through {* | select * from e2e where call_name = 'tcp_connect' and arguments like '%http://www.baidu.com%'}`,查询日志call_name为tcp_connect,arguments包含<http://www.baidu.com。>3334### 测试重点3536- 根据功能要求设计查询语句,以便能够达到测试功能的目的37- 专注于查询的返回值,确保功能符合预期38- 保持测试的简洁性和可维护性
Run npx skillmds@latest add alibaba/e2e-manual in your terminal (requires Node.js), paste this page's agent-chat prompt into Claude, Cursor, or any MCP-connected agent, or download the SKILL.md file and copy it into your agent's skills directory.
e2e测试指南 It is listed under Coding & Dev Tools on SkillMD.
This skill has not completed SkillMD's automated safety review yet. SkillMD never runs a skill's scripts for you; review the SKILL.md before installing.
This skill is tagged as working with Claude Code, Claude.ai, OpenAI Codex. SKILL.md is an open format, so most agents that read a skills directory can load it too.
Yes. Installing skills from SkillMD is free, and the skill stays under its author's original license.
alibaba (@alibaba) published this skill. Their other Agent Skills are listed on their SkillMD profile.