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 的研究。