テキストファイルから次の出力があります。
===============================================
guideMenuSuite.mts:
[monkeytalk:run] MonkeyTalk v1.0.11.beta5c_473 - 2012-07-18 11:38:51 MDT - Copyright 2012 Gorilla Logic, Inc. - www.gorillalogic.com
[monkeytalk:run] running suite guideMenuSuite.mts...
[monkeytalk:run] BCOKAS127271: -start suite (1 test)
[monkeytalk:run] BCOKAS127271: 1 : guide_menu.mt
[monkeytalk:run] BCOKAS127271: -> OK
[monkeytalk:run] BCOKAS127271: -end suite
[monkeytalk:run] result: OK
[monkeytalk:run] ...done
================================================
Java では、次のことを行う必要があります。1) デバイスのシリアル番号の出力を解析します (この場合は BCOKAS127271.... テスト対象のデバイスによって異なります)。2) -> (この場合は -> OK) の後のテストのステータス結果を取得します。
分割を使用してみましたが、データがnullになり続けます...
どんな提案でも大歓迎です。
ここに私のコードがあります:
コード
while ((strLine = br.readLine()) != null)
{
maintextarea.append(strLine + "\n");
System.out.println(strLine);
System.out.flush();
maintextarea.append(selectedSerial);
delims = "[ \\->]+";
//String[] tokens = strLine.split(delims);
//String[] tokens = strLine.substring(prefix.length()).split(delims);
String noprefixStr = strLine.substring(strLine.indexOf(prefix) + prefix.length());
String[] tokens = noprefixStr.split(delims);
//for (String t: tokens)
{
//System.out.println(t);
if (tokens.toString().contains("ERROR"))
{
testStatus = "ERROR";
maintextarea.append("\n" + selectedValue + " " + selectedSerial + " = " + testStatus + "\n");
System.out.println(selectedValue + " " + selectedSerial + " = " + testStatus);
System.out.flush();
}
else if (tokens.toString().contains("FAILURE"))
{
testStatus = "FAILED";
maintextarea.append("\n" + selectedValue + " " + selectedSerial + " = " + testStatus + "\n");
System.out.println(selectedValue + " " + selectedSerial + " = " + testStatus);
System.out.flush();
}
else if (tokens.toString().contains("OK"))
{
testStatus = "PASSED";
maintextarea.append("\n" + selectedValue + " " + selectedSerial + " = " + testStatus + "\n");
System.out.println(selectedValue + " " + selectedSerial + " = " + testStatus);
System.out.flush();
}
else
{
testStatus = "N/A";
maintextarea.append("\n" + selectedValue + " " + selectedSerial + " = " + testStatus + "\n");
System.out.println(selectedValue + " " + selectedSerial + " = " + testStatus);
System.out.flush();
}
}
}
br.close();
================================================== ==========
アップデート:
このグループから受け取ったすべての意見に基づいて解決策を見つけました! 私はそれを本当にシンプルにして、式の出力ファイルを解析し、その設定に基づいて、変数を合格または失敗またはエラーに設定しました。
使用した基本コードは次のとおりです。
try
{
BufferedReader br = new BufferedReader(new InputStreamReader(new DataInputStream(new FileInputStream("/home/ironmantis7x/Documents/TWC_test/MT_test_runner_output.txt"))));
String strLine;
while ((strLine = br.readLine()) != null)
{
if (strLine.contains("-> OK"))
{
testStatus = "Pass";
System.out.println("Test Result = " + testStatus);
}
}
}
catch (FileNotFoundException ex)
{
Logger.getLogger(parseFile.class.getName()).log(Level.SEVERE, null, ex);
}
申し訳ありませんが、皆さんに戻ってお礼を言うのに時間がかかりました!
アイアンマンティス7x