[bidi] setFiles 测试仅对输入值进行断言,从未断言文件是否已上传(所有绑定)
作者: AutomatedTester创建于 2026年9月9日更新于 2026年9月11日
标签C-rbC-dotnetC-javaC-nodejsI-enhancement
□ 特点和动机
每个绑定的"输入. set" 文件测试'只在文件输入的价值'财产上声称。 显示文件名字符串已被接受; 它没有显示文件被附加或者其字节被传输 。 发送文件名但丢弃文件的 " setFiles " 执行会通过所有这些测试。
经典的上传测试确实证明了来回旅行——它们提交表格,并申明上传端点在目标iframe中回放的内容,例如`py/test/selenium/webdriver/common/upload tests.py:41-48'以及其他约束中的相应测试.
当前的 " setFiles " 测试,所有 " 价值 " -仅:
- 爪哇语-`java/test/org/openqa/selenium/bidi/input/SetFilesCommand Test.java'
- Ruby -- -- `rb/ spec/整合/硒/webdriver/bidi/protocol/ input-spec.rb'
- 联合来文 -- -- `JavaScript/硒-webdriver/test/bidi/setFiles command test.js'
- .NET——`dotnet/src/webdriver/BiDi/Input/InputModule.cs'(消费者)
18007 增加了 Python 一侧的回路覆盖( ` set files' , 提交, 然后坚持端点回放文件名和文件内容) , 加上一个测试, 将它输入文本字段, 并将一个文件附加在一个流中 。 这一问题是其他约束的均等后续行动。
□ 需要考虑的事情
- 共享的`common/src/web/upload.html'固定文件有文件输入和提交按钮,但没有文本字段,所以合并的打字和上载测试需要不同的固定或更改。 我避免在#1807中更改——见下一点.
java/test/org/openqa/selenium/environment/webserver/UploadHandler.java ' 在所有多部分重新使用单一的价值 ' 地图(第59行:价值 ' 一旦在环外创建,而所有部分.add(价值) ' 反复添加同样的参考)。 因此,在“上载.html”中添加另一个构成部分将使该部分的内容与处理者返回的内容相融合,可能打破了Java现有的上传断言。 如果我们想要一个有多个领域共享的固定器,那么就值得先修好那个处理器。 注意Python测试服务器("py/test/selenium/webdriver/common/webserver.py:177-202")与整个多部分机体相呼应,因此它没有这个问题——两个服务器在这里的表现不同.- 在文件 * 内容 * 上签名, 而不是仅仅文件名 使得这些测试不空闲 。 在#18007中,我通过暂时通过一个空文件列表来验证这一点,确认测试失败;在移植时值得做同样的事情.
- 还值得决定这些是放在每个绑定器现有的BiDi输入测试旁边,还是放在其经典上传测试旁边.
内容来源: SeleniumHQ/selenium