如何使用Robot Framework修改HTML文件并通过浏览器打开?
Robot Framework修改HTML并执行的实现方案
一、修改HTML中的目标值
你的HTML需要替换三个固定标记:Variable1(form的action属性)、Variable2(PaReq的value属性)、Variable3(TermUrl的value属性),可以通过Robot的文件操作和字符串替换完成:
- 定义新值并完成替换保存
*** Variables *** ${NEW_ACTION} https://your-target-submit-url.com ${NEW_PAREQ} your-unique-pareq-value ${NEW_TERMURL} https://your-term-callback-url.com ${ORIGINAL_HTML} ./original.html ${MODIFIED_HTML} ./modified.html *** Test Cases *** Update HTML Content # 读取原始HTML文件内容 ${HTML_CONTENT} Get File ${ORIGINAL_HTML} # 依次替换三个变量 ${UPDATED_CONTENT} Replace String ${HTML_CONTENT} Variable1 ${NEW_ACTION} ${UPDATED_CONTENT} Replace String ${UPDATED_CONTENT} Variable2 ${NEW_PAREQ} ${UPDATED_CONTENT} Replace String ${UPDATED_CONTENT} Variable3 ${NEW_TERMURL} # 保存修改后的HTML文件 Create File ${MODIFIED_HTML} ${UPDATED_CONTENT} encoding=utf-8
二、用Chrome执行修改后的HTML
借助SeleniumLibrary打开本地修改后的HTML文件,由于文件内置自动提交脚本,打开后会自动触发表单提交:
- 导入库并编写执行逻辑
*** Settings *** Library SeleniumLibrary *** Test Cases *** Run Modified HTML # 构造本地文件的URL(file:///开头,${CURDIR}为当前测试文件所在目录) ${LOCAL_URL} Set Variable file:///${CURDIR}/${MODIFIED_HTML} # 打开Chrome并加载本地HTML Open Browser ${LOCAL_URL} chrome # 可选:等待脚本执行完成(根据实际场景调整超时时间) Wait Until Page Contains Element id=formulaire timeout=10s # 执行完成后关闭浏览器 Close Browser
关键注意事项
- 路径适配:用
${CURDIR}内置变量替代硬编码绝对路径,适配不同运行环境 - 编码保障:保存文件时指定
encoding=utf-8,避免HTML内容乱码 - 替换准确性:确保替换标记(如
Variable1)与HTML中内容完全匹配,防止替换错误
你的原始HTML代码:
<html lang="en"> <head> <meta charset="utf-8"> <title>The Title</title> <meta name="author" content="SitePoint"> <link rel="stylesheet" href="css/styles.css?v=1.0"> </head> <body> <form id="formulaire" method="post" action="Variable1"> <input type="hidden" id="PaReq" name="PaReq" value="Variable2"/> <input type="hidden" id="TermUrl" name="TermUrl" value="Variable3"/> <input type="hidden" id="MD" name="MD" value=""/> </form> <script> document.forms[0].submit(); </script> </body> </html>
内容的提问来源于stack exchange,提问作者Youssefb hmida
相关产品推荐
相关产品推荐

