JMeterテストが実行された後にwikiステータスページを更新してファイルをアップロードする方法が必要でした。これは、あなたがジェンキンスの仕事の結果に応じて条件付きでキックオフできるものです。JMeterとREST APIを使用してAtlassian Confluence Wikiを更新する方法
0
A
答えて
0
私はこれらの手順でこれをやった:、セットアップスレッドグループ内
を私の結果フォルダ内の最新のレポートファイルを見つけるためにBeanShellのサンプラーを追加しました。
import org.apache.commons.io.FileUtils; import org.apache.commons.io.filefilter; import org.apache.commons.io.filefilter.WildcardFileFilter; import org.apache.commons.io.comparator.LastModifiedFileComparator;ウィキ/合流システムアカウント
- と
log.info("GET MOST RECENT RESULTS REPORT FOR THE APP TESTED"); String dir_path = props.get("test_results_path"); File theNewestFile = null; try { File dir = new File(dir_path); FileFilter fileFilter = new WildcardFileFilter("Results_${testApp}*.*"); File[] files = dir.listFiles(fileFilter); if (files.length > 0) { /** The newest file comes first **/ Arrays.sort(files, LastModifiedFileComparator.LASTMODIFIED_REVERSE); theNewestFile = files[0]; String fileName = files[0].getName().toString(); log.info("fileName: "+fileName); print("fileName: "+fileName); props.put("varResultsReportFile",fileName); } return theNewestFile; } catch (Throwable ex) { log.error("Failed in Beanshell", ex); throw ex; }
ログインGET
rest/api/content?title=${testApp}&spaceKey=${testSpaceKey}&expand=version,history
- 使用JSONエクストラクタページのバージョン番号(
results..version.number
)とページIDを抽出する(results..id
) - 使用BeanShellのポストプロセッサページのバージョン番号に1を加え、その値を変数に格納します。あなたがウィキ
- にあなたの更新をPUTするときは、手順7で作成したJMeterの変数にCSS/jQueryの抽出を使用して
- ページ本体値(
- 使用JSON抽出をGETこれが必要になりますすべてのテーブル値を抽出します。たとえば、最初の列の値を抽出するには、CSS/JQuery Expression = tdおよびMatch No = 1とします。
- PUT
rest/api/content/${varPageId}
JSON本体で、更新する必要のない値を更新および復元するために必要な単一のテーブル値を更新します。 - POST
rest/api/content/${varResultsPageId}/child/attachment
ファイルのアップロード]タブでは、ファイルパス= $ {__ P(test_results_path)} $ {__ P(varResultsReportFile)}、パラメータ名=ファイル、MIMEタイプ=テキスト/ CSV - ログアウト
results..body.storage.value
)をextactする
rest/api/content?title=${testApp}&spaceKey=${testSpaceKey}&expand=body.storage