Testlinkでテストケースをユーザに一括アサインするスクリプトを書いてみた
Testlinkでテストケースをユーザにアサインするのがとても面倒だったので、一括アサインするGreasemonkeyのスクリプトを書いてみた。
インストールすると、一番上の実行ボタンの横にAll Asignボタンが表示されてクリックすると、横のプルダウンメニューで選ばれたユーザが下の全てのテストケースにアサインされます。
今使っているTestlinkはver1.7.4だから、最新のTestlinkでは、このあたりのUIは改善されているかもしれないけど。
1.9のβもリリースされてるっぽいし、ちょっと今度さわってみなきゃ。
ってことで、書いたスクリプトは↓
javascripterの人はきっとxpathとかで華麗に書くんだろうけど、うまくいかなかったので、地道にやりました(汗
相変わらず汚くてすみません。
// ==UserScript== // @name testlink_assign_user // @namespace http://d.hatena.ne.jp/iox // @description Assign selected user to all testcase. // @include http://*/testlink/* // ==/UserScript== h1element = document.getElementsByTagName('h1'); if(h1element.length == 0) { return; } if(h1element[0].innerHTML.match(/テストケースに実行タスクをアサインするテスト計画/)) { create_assign_button(); } function create_assign_button() { // 一番上の実行ボタンを検索 var all_input_tags = document.getElementsByTagName('input'); var exec_button; for(var i in all_input_tags) { if(all_input_tags[i].value == "実行") { exec_button = all_input_tags[i]; break; } } // ボタン作成 var assign_button = document.createElement('input'); assign_button.setAttribute('type', 'button'); assign_button.setAttribute('value', 'All Asign'); assign_button.addEventListener('click', function() { // 選択されているユーザ情報を取得 var select_user = exec_button.previousSibling.previousSibling; var index = select_user.selectedIndex; var selected_value = select_user.options[index].value; var selected_user = select_user.options[index].label; // 全てのプルダウンメニューに一番上のプルダウンメニューで選択 // したユーザを設定 var all_selects = document.getElementsByTagName('select'); for(var j in all_selects) { var options = all_selects[j].options; for(var k in options) { if(options[k].value == select_user.value) { options[k].selected = true; break; } } } }, false); // ボタン配置 exec_button.parentNode.insertBefore(assign_button, exec_button.nextSibling); }