OpenClinica 用户手册/Selenium 任务
有时您可能需要在 OpenClinica 中反复执行某个操作,而有时没有内置功能来帮助您完成此操作。除了繁琐之外,还可能难以跟踪您所处的位置并避免错误。在某个时候,您应该花时间将该操作自动化。
自动化可以通过使用称为 Selenium 的测试工具来实现。Selenium IDE 可以作为 Firefox 插件 使用。下面讨论的示例还使用 sideflow 附加组件,它允许流程控制,否则需要使用 Selenium WebDriver。IDE 的优点是可以将操作录制为脚本(类似于 MS Office 的“录制宏”功能),这在入门时非常有用。
以下部分介绍了可与 OpenClinica 一起使用的 Selenium 脚本(又名测试用例)。OpenClinica UI 偶尔会发生变化,因此如果您使用的是其他版本,这些脚本可能无法正常工作,例如,如果脚本无法再正确识别页面上的元素。
与往常一样,在将脚本运行在实际/生产实例中之前,在测试实例中进行开发/测试。
OpenClinica 规则一次只能删除一个。本节中讨论的脚本使用单个过滤器或多个过滤器来简化批量删除操作。过滤器可以通过“管理规则”表设置,该表会构造一个过滤器 URL,脚本就是使用该 URL 的。
因此,登录 OpenClinica,转到“管理规则”,输入要删除的规则的过滤条件,应用过滤器,然后复制 URL。URL 需要进行 HTML 编码(例如,& -> & amp;),如果您将 URL 粘贴到 IDE 中,Selenium 会为您进行编码,或者您可以手动编码,或者使用 Notepad++ 的 XML Tools 插件等。
这些脚本是在 OpenClinica 3.1.3.1 中编写的。在运行这些脚本之前,登录 OpenClinica 并切换到要删除规则的研究。
此脚本 旨在用于删除符合单个过滤器的规则。
获取过滤器规则时,请注意有多少规则符合该过滤条件,因为该数字将用于帮助停止脚本。否则,脚本将在无法激活“删除规则”按钮时停止,如果不再有符合过滤条件的规则,该按钮将不存在。
测试用例将转到过滤器地址,删除顶部的规则,并重复此操作,次数与您设置的 target_run 相同。显然,这会稍微加重您的服务器负载,因此最好只在其他用户不使用 OpenClinica 时进行此操作。
测试用例完成后,Selenium IDE 将在日志窗格中显示“已删除 x 个规则中的 y 个规则”。如果由于您设置的 target_run 太高而导致规则耗尽,则测试用例结果应为“失败”。
此脚本 旨在用于删除符合一系列过滤器的规则,这是创建多个“单个过滤器”测试用例套件的替代方法。
在这种情况下,只需要过滤器 URL 的相关部分,例如,对于规则 OID 为“RULE01”的过滤器的 URL 的重要部分是“&ruleAssignments_f_ruleOid=RULE01”。可以一次执行多个这样的操作,用逗号分隔(因此过滤器不能包含逗号)。例如,要删除规则 OID 为“RULE01”的规则,以及规则 OID 为“RULE02”且针对项目“I_ITEM01”的规则,您可以使用以下过滤器字符串:
&ruleAssignments_f_ruleOid=RULE01,&ruleAssignments_f_ruleOid=RULE02&ruleAssignments_f_targetValue=I_ITEM01
此脚本会为您识别符合每个过滤器的规则数量,因此不需要目标运行次数。但是,您需要指定 OpenClinica 实例 URL。
测试用例完成后,日志中将显示已删除的规则数量。
OpenClinica CRF 一次只能迁移到新版本(在 3.1.3 中添加的功能)。此脚本 可简化批量版本迁移操作,用于指定事件、CRF 和目标 CRF 版本。
此脚本是在 OpenClinica 3.3 中编写的。在运行脚本之前,登录 OpenClinica 并切换到要迁移 CRF 的研究。