资讯动态

Robot Framework 注册信息全解:文件扩展名、媒体类型与远程服务器端口

发布时间:2026/9/24 17:36:38 来源:尧图企业网站定制
测试RPA接口测试【免费下载链接】robotframeworkGeneric automation framework for acceptance testing and RPA项目地址https://gitcode.com/gh_mirrors/ro/robotframework点击查看免费下载本指南基于 Robot Framework 用户指南附录 Registrations系统梳理与 Robot Framework 官方注册/关联的技术标识套件文件与资源文件的扩展名体系、数据媒体类型text/robotframework以及远程服务器Remote Server默认端口 8270。读完本文你将能准确区分哪些扩展名会被自动解析、哪些需要单独配置并能在项目实践中正确选择文件格式、配置远程库连接端口。文中每个结论都结合仓库源码与测试用例给出可验证依据。为什么需要注册信息Robot Framework 在解析目录、导入资源文件时需要依据文件扩展名判断文件的身份与格式——是测试套件Suite还是资源文件Resource是纯文本格式、reStructuredText 格式还是 JSON 格式。附录 Registrations 正是这些规则的官方汇总。理解这些注册规则可以避免两个常见误区随意命名的文件如.foo、.bar不会被自动发现除非通过 --extension 选项 单独配置资源文件与套件文件的扩展名集合并不相同混用可能导致文件被当作套件解析而产生意外行为。套件文件扩展名Suite files套件文件携带以下扩展名时会被自动解析扩展名对应格式说明.robot纯文本格式plain text format最常用的现代格式.robot.rstreStructuredText 格式以.rst结尾的套件文件.rbtJSON 格式由robot输出/导入的 JSON 套件文件使用其他扩展名是可能的但需要单独配置即通过命令行选项--extension显式指定要解析的扩展名。源码级验证默认扩展名从哪来在 src/robot/parsing/suitestructure.py 中SuiteStructureBuilder的构造函数明确给出了默认扩展名元组class SuiteStructureBuilder: ignored_prefixes (_, .) ignored_dirs (CVS,) def __init__(self, extensions: Sequence[str] (.robot, .rbt, .robot.rst), included_files: Sequence[str] ()): self.extensions ValidExtensions(extensions, included_files) self.included_files IncludedFiles(included_files)可以看到默认值正是.robot、.rbt、.robot.rst三个。而 src/robot/parsing/suitestructure.py 中的ValidExtensions会做去点、小写化处理并在目录扫描时逐个匹配文件后缀。运行目录发现Directory Discovery时只有匹配这些扩展名的文件才会被纳入套件结构。在 src/robot/conf/settings.py 中--extension命令行选项对应内部键extension正是用来覆盖这一默认集合的例如robot --extension robot . # 仅解析 .robot 文件 robot --extension .robot:.rbt . # 同时解析 .robot 与 .rbtJSON 套件格式的来历.rbt扩展名对应 JSON 格式套件。在 src/robot/running/builder/parsers.py 中JsonParser通过TestSuite.from_json(source)直接反序列化 JSON 文件class JsonParser(Parser): def parse_suite_file(self, source: Path, defaults: TestDefaults) - TestSuite: return TestSuite.from_json(source) def parse_init_file(self, source: Path, defaults: TestDefaults) - TestSuite: return TestSuite.from_json(source)这类文件通常由robot的 JSON 输出功能生成如--json选项产生的输出也可以手工构造后作为输入用于二次处理或结果复用场景。资源文件扩展名Resource files资源文件可以使用的扩展名更多因为资源文件既有格式维度也有向后兼容维度扩展名对应格式/用途说明.resource纯文本格式推荐用于纯文本格式资源文件.robot/.txt/.tsv纯文本格式出于向后兼容原因被支持官方推荐改用.resource未来可能强制要求.rst/.restreStructuredText 格式资源文件的 reStructuredText 形式.rsrc/.jsonJSON 格式资源文件的 JSON 形式源码级验证资源扩展名集合在 src/robot/running/importer.py 中资源文件的合法扩展名被定义为常量集合RESOURCE_EXTENSIONS {.resource, .robot, .txt, .tsv, .rst, .rest, .json, .rsrc}这与附录所列完全一致。而资源解析器的选择逻辑位于 src/robot/running/builder/builders.py按后缀分流到不同解析器def _parse(self, source: Path) - ResourceFile: suffix source.suffix.lower() if suffix in (.rst, .rest): parser RestParser(self.lang, self.process_curdir) elif suffix in (.json, .rsrc): parser JsonParser() else: parser RobotParser(self.lang, self.process_curdir) return parser.parse_resource_file(source)reStructuredText 与 JSON 资源文件的解析器.rst/.rest由 src/robot/running/builder/parsers.py 中的RestParser处理其扩展名声明为(.robot.rst, .rst, .rest)内部通过read_rest_data(reader)把 reStructuredText 数据转换为普通文本模型再解析。.json/.rsrc由JsonParser处理调用ResourceFile.from_json(source)反序列化。注意.rest与.rsrc是.rst、.json的别名扩展名二者都接受。这也解释了为什么在 atest 测试数据见 atest/parsing/data_formats 目录下 8 个测试数据文件中会同时出现.rest、.rsrc等多种后缀的样本——它们用于验证非标准但合法扩展名的解析路径。扩展名后缀匹配的大小写处理从源码可以推断扩展名匹配是不区分大小写的builders.py中先执行source.suffix.lower()再比较suitestructure.py中ValidExtensions也统一转为小写。因此.ROBOT、.Rbt等大小写变体同样能被识别。媒体类型text/robotframework与 Robot Framework 数据关联的官方媒体类型Media Type为text/robotframework该标识用于在 HTTP 传输、内容协商、编辑器语法高亮插件、文件类型识别等场景中标记 Robot Framework 数据文件。当你在编辑器或 Web 服务中需要为 Robot Framework 文件声明 MIME 类型时应使用该值而非笼统的text/plain。仓库中此标识在文档体系中被正式登记见 doc/userguide/src/Appendices/Registrations.rst是其官方身份标识的一部分。远程服务器默认端口8270Robot Framework 的远程库接口Remote library interface默认端口为8270且该端口已由 IANA 正式注册登记避免与其他服务冲突。源码级验证Remote 库的默认 URI在 src/robot/libraries/Remote.py 中内置 Remote 库的构造函数默认 URI 即为http://127.0.0.1:8270class Remote: def __init__(self, urihttp://127.0.0.1:8270, timeoutNone):这意味着当你导入Remote库而不指定 URI 时Robot Framework 会默认连接本机 8270 端口上运行的远程服务器。远程服务器可以是任何语言实现的进程只要遵循远程接口协议XML-RPC 风格接口即可。在 Libdoc 中的使用示例src/robot/libdoc.py 中提供了结合远程库与端口的实际命令行示例libdoc --name MyLibrary Remote::10.0.0.42:8270 MyLibrary.xml libdoc Remote::10.0.0.42:8270 show这里使用Remote::host:port语法把远程服务器包装为库对象再生成 XML 规范文档或直接查看。实际使用中若远程服务器部署在非默认端口只需在 URI 中显式给出端口号*** Settings *** Library Remote http://192.168.1.10:9000实践速查与建议新项目套件文件一律使用.robot纯文本格式可读性最好、工具链支持最全需要 reStructuredText 文档化测试时用.robot.rst需要机器可读、可程序化生成的测试数据时用.rbtJSON。新项目资源文件一律使用.resource。.robot/.txt/.tsv仅为向后兼容保留官方已提示未来可能强制要求.resource尽早迁移可避免升级风险。遗留项目若目录中存在.txt、.tsv等旧扩展名套件文件需要通过--extension显式配置才能被解析它们属于其他扩展名范畴。远程库默认端口 8270 已被 IANA 注册本地调试可直接使用默认值多实例或跨机器部署时在Remote库 URI 中显式指定端口并用 Libdoc 校验接口。内容分发在 HTTP 响应头或编辑器配置中为 Robot Framework 数据文件声明text/robotframework媒体类型。如需深入了解格式本身如 reStructuredText 与 JSON 数据的具体语法可继续阅读 用户指南数据解析相关章节 与 解析器源码并参考 atest/parsing/data_formats 下的真实测试数据验证各类扩展名的解析行为。赞分享测试RPA接口测试【免费下载链接】robotframeworkGeneric automation framework for acceptance testing and RPA项目地址https://gitcode.com/gh_mirrors/ro/robotframework点击查看免费下载相关推荐ThinkPHP Framework文件类型验证MIME类型与扩展名ThinkPHP Framework文件类型验证MIME类型与扩展名 你是否在开发上传功能时遇到过用户上传恶意文件的困扰是否担心过看似无害的.jpg文件其实后端Web框架OHIF 全局类型扩展指南使用 withAppTypes 与 AppTypes 命名空间为扩展服务注入类型安全OHIF 全局类型扩展指南使用 withAppTypes 与 AppTypes 命名空间为扩展服务注入类型安全 本文是一份面向 OHIF Viewer 应用开医疗健康前端音视频Robot Framework 资源文件扩展名机制详解以 reST.rst资源文件为例Robot Framework 资源文件扩展名机制详解以 reST.rst资源文件为例 导读 Robot Framework 的资源文件Resource测试RPA接口测试创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价