跳转到内容

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 并切换到要删除规则的研究。

单个过滤器

[编辑 | 编辑源代码]

此脚本 旨在用于删除符合单个过滤器的规则。

获取过滤器规则时,请注意有多少规则符合该过滤条件,因为该数字将用于帮助停止脚本。否则,脚本将在无法激活“删除规则”按钮时停止,如果不再有符合过滤条件的规则,该按钮将不存在。

  1. 插入目标运行次数 在第 31 行
  2. 插入过滤器 URL 在第 41 行

测试用例将转到过滤器地址,删除顶部的规则,并重复此操作,次数与您设置的 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。

  1. 插入实例 URL 在第 26 行
  2. 插入过滤器字符串 在第 41 行

测试用例完成后,日志中将显示已删除的规则数量。

CRF 版本迁移

[编辑 | 编辑源代码]

OpenClinica CRF 一次只能迁移到新版本(在 3.1.3 中添加的功能)。此脚本 可简化批量版本迁移操作,用于指定事件、CRF 和目标 CRF 版本。

此脚本是在 OpenClinica 3.3 中编写的。在运行脚本之前,登录 OpenClinica 并切换到要迁移 CRF 的研究。

  1. 插入包含目标 CRF 的事件的名称 在第 29 行
  2. 插入目标 CRF 名称 在第 34 行
  3. 插入要迁移到的 CRF 版本 在第 39 行
  4. 插入实例 URL 在第 44 行
  5. (可选)修改目标 CRF 状态 在第 306 行。默认情况下,会迁移状态为“初始数据录入”或“数据录入完成”的 CRF。
华夏公益教科书