Python 在XML重新启动解析期间设置链接
情况是这样的:我有一个django后端运行测试,创建XML文件,并将它们发送到我的django前端,django前端可以对它们执行任何操作(实际上生成HTML文件) [后端]->XML->[前端]->HTML 我的问题是:在XML文件中,我有指向文档的外部链接,文档由我的前端托管,其URL只有后者知道 如何配置我的“.robot”文件以创建要在处理XML文件期间由rebot更改的元素,以及我需要为rebot提供哪些参数 编辑: 如评论中所述,以下是一个示例: 我的robot文件实际上包含如下测试:Python 在XML重新启动解析期间设置链接,python,robotframework,Python,Robotframework,情况是这样的:我有一个django后端运行测试,创建XML文件,并将它们发送到我的django前端,django前端可以对它们执行任何操作(实际上生成HTML文件) [后端]->XML->[前端]->HTML 我的问题是:在XML文件中,我有指向文档的外部链接,文档由我的前端托管,其URL只有后者知道 如何配置我的“.robot”文件以创建要在处理XML文件期间由rebot更改的元素,以及我需要为rebot提供哪些参数 编辑: 如评论中所述,以下是一个示例: 我的robot文件实际上包含如下测试
Test_1
[Documentation]Doc: [${PathToRefDoc}#test_1 | test_1_doc]
<:Do Things:>
<test id="1" name="Test_1"
<doc>Doc: [<:ref doc URL:>#test_1 | test_1_doc]</doc>
<:Infos on things done:>
</test>
Test_1
[文件]Doc:[${PathToRefDoc}#test_1|test_1_Doc]
${PathToRefDoc}值在生成XML文件期间被替换,它给出如下内容:
Test_1
[Documentation]Doc: [${PathToRefDoc}#test_1 | test_1_doc]
<:Do Things:>
<test id="1" name="Test_1"
<doc>Doc: [<:ref doc URL:>#test_1 | test_1_doc]</doc>
<:Infos on things done:>
</test>
我终于在robotframework存储库的API文档中找到了一个解决方案:
我需要创建一个继承SuiteVisitor类的类,下面是代码
from robot.api import SuiteVisitor
class DocURLSetter(SuiteVisitor):
"""
Changes every instances of ${PathToRefDoc} contained in the tests
documentation with the URL given at instantiation
"""
def __init__(self, doc_url):
self.doc_url = doc_url
def visit_test(self, test):
test.doc = test.doc.replace("${PathToRefDoc}", self.doc_url)
在调用rebot框架的代码中,我必须添加'PreRebootModifier'参数:
robot.rebot(src, log=dst,
report=None,
loglevel='TRACE:WARN',
exclude='TEST_SKIPPED',
stdout=None,
stderr=None,
prerebotmodifier=DocURLSetter(my_doc_url))
你能提供一个你想做什么的代码示例吗?目前还不清楚您在功能上想要实现什么,以及Robot框架在其中扮演什么角色。我写了一个例子。经过更仔细的搜索,我找到了“PreRebootModifier”类。我想这可能是我想要的,但我不确定,而且文档似乎不清楚