カヌーデモは、ゲートウェイテスターを持っています。(私はCAPLおよび.NETサポート、ないだろう、なぜXMLを前方に置く必要があり、それは、Vectorのもカオスああそうです)
まずVXTファイルを見てください。オープンは、実際にはXMLファイルです。xmlファイルは、VBAによって生成されます。
ルート要素は次のようにtestmoduleは、チェックをカヌーで説明しています:
testmoduleは、特定のテスト機能を介して制御装置とネットワークをテストするためのテストシーケンスです。様々な開発段階、チェック、回帰モデルの検証、および統合テストを検証するために使用することができます。
通じtestmodule テストの自動化エディタが編集する(このようなものがどこかわからない)、およびシミュレーションやカヌーテスト・セットアップを実行します。
testmodule XMLフォーマットは、予め試験パラメータ化可能な機能と制御機能のセットを含みます。CAPL試験形式は機能試験または.NET形式を含んでもよいです。
testmodule xml形式が含まれています:
テストケース任意の数のテストグループに組み合わせることができます
構文:
<testmoduleタイトル= "テストモジュールのタイトル"、バージョン= "1.0"のxmlns = "(HTMLなど)テストモジュールの名前空間"のxmlns:XSI = "http://www.w3.org/2001/XMLSchema-instance" XSI。 schemaLocation = "割り当てられたスキーマファイルと名前空間"> </ testmodule>
これでタイトルとバージョンが必要な属性です。
ENGINEER、testsetup、SUTのは何も言うことありません。。。。
条件は以下の通りであります:
とき同期チェックテスト条件があるときに制約や条件が実行されます。これらの条件は、試験群または詳細テストモジュールまたはテストケースに記載されています。
構文:
< 条件> 試験条件の一覧 </ 条件>
requestresponsecheck、下記のカヌー:
検査、監視は、メッセージ指向ではなく、使用サイマルです
このチェックは、信号がどのくらい別のメッセージに一つのメッセージから変換され、処理時間を確認するために使用されます。
検査のための時間の場合には、応答メッセージの前に到達して送信されなければなりません
価値のケースをチェックするために、物理的な応答メッセージ信号値は、物理的な信号値または定数値の要求メッセージに対してチェックされます。
2つの構成でご利用可能:
第一の構成=はいOne2Oneは、各要求は、他のすべてのチェックが応答をもたらす失敗し、唯一つの応答を可能にします。リクエストの始まりは無視され、対応するメッセージを検査している時に、時間間隔は無視され、最短タイムアウトと最初のルートの時間があります。
各要求に応答して第一の構成one2one = NOは、複数でき、しかし応答を監視追加のデータの整合性は、これらのメッセージはまた、内部応答条件コンテンツの内容を満足しなければなりません。あなたがデータを達成していない場合は、整合性チェックが失敗します。ルートまたはタイムアウトによって初めてからのデータの一貫性の間隔。
このように<応答>セクションのみチェック<信号を>と<バイト>属性を使用することができ、<signalref>及び<byteref>プロパティを使用することができます。彼らは、要求メッセージに直接関連参照しています。
要素<signalref>値についても、それが根付いていない場合でも指定することができます。
<mostmsg> <レスポンス>パラメータを使用する場合は、<PARAM>メッセージ内容<バイト>で使用するために説明することができます。
< requestresponsecheckのタイトル= "..." MINTIME = "..." タイムアウト= "..." observetime = "..." one2one = "YES | NO" > < 要求> トリガメッセージの定義 < canmsg /> または < linframe /> または < mostmsg /> または < frframe /> または < frpdu /> </ 要求> < レスポンス> 独立したメッセージの定義 トリガメッセージを参照することが可能です < canmsg /> または < linframe /> または < mostmsg /> または < frframe /> または < frpdu /> </ レスポンス> </ requestresponsecheck >
上記の標準的なテストを定義します。ここではテストケースは次のとおりです。
<テストケース>実際のテスト実行命令が含まれています
構文を使用:タイトルとidentが必須です
< テストケースのident =「テストケースのID、例えば番号『タイトル=』テストケースのタイトル」バージョン= 『1.0』変種= 『A』 > </ テストケース>
<初期化>が割り当てられたCAN信号のシリーズが含まれ、それらはバス、外出先に送信されます。第二段階は、指定された待機時間があるでしょう。システムは、実際の値所望の変化であろうように、この待機期間は、「入力」にシステムを可能にします。
構文を使用:
< 初期化タイトル「原始、レポートに表示のための見出し」= 待つ=「ミリ秒の時間を待って」> CAN信号/メッセージ、LIN信号、FlexRayの信号MOSTメッセージや環境/システム変数の一覧 </ 初期化>を
再び信号信号を定義するために使用cansignal、バイト、についての詳細。
< cansignal 名=「信号名」MSG =「メッセージ名」ノード=「ノード名」バス=「バス名」>値</ cansignal >
< バイトPOS = "0からのバイト位置" >値</ バイト>
<?xml version = "1.0"エンコード= "ISO-8859-1"?> <! -エクセルから生成- > <! -ベクトルテスト自動化エディタ1.1.55.0 - > <testmoduleタイトル= "ゲートウェイテスター"バージョン="」のxmlns = "http://www.vector-informatik.de/CANoe/TestModule/1.16"> <エンジニア> <インフォメーション> <名前>名前</名前> <説明> vislke </記述> < /インフォメーション> </エンジニア> <testsetup> <インフォメーション> <名前>テスト構成のバージョン</名前> <説明> 1.2 </記述> </インフォメーション> <インフォメーション> <名前></名前>が作成したテスト構成 <説明>ステファン</記述> </インフォメーション> </ testsetup> <SUT> <インフォメーション> <名前> ECU名</名前> <説明>ゲートウェイ</記述> </インフォメーション> <インフォメーション> <名前> ECUのバージョン</名前> <説明> 150 </記述> </情報> </ SUT> <条件> <! - Excelファイルに#8行目に関係する- > <requestresponsecheckタイムアウト= "1000msの" MINTIME = "100US"> <要求> <canmsg ID = "ABSdata"バス=」エンジン」/> </リクエスト> <応答> <canmsg ID = "EngineInfo"バス= "コンフォート"> <signalref名= "Comf_CarSpeed"もしrefname = "CarSpeed" /> </ canmsg> </レスポンス> </ requestresponsecheck> <! - Excelファイルに#9行目に関係する- > <requestresponsecheckタイムアウト= "1000msの" MINTIME = "100US"> <要求> <canmsg ID = "ABSdata"バス= "エンジン" /> </リクエスト> <応答> <canmsg ID = "EngineInfo"バス= "コンフォート"> <signalref名= "Comf_GearLock"もしrefname = "Gear_Lock" /> </ canmsg> </レスポンス> </ requestresponsecheck> <! - Excelファイルに#10行目にも関する- > <requestresponsecheckタイムアウト= "1000msの" MINTIME = "100US"> <要求> <canmsg ID = "EngineData"バス= "エンジン" /> </要求> <レスポンス> <canmsgのID = "EngineInfo"バス= "コンフォート"> <signalref名= "Comf_EngSpeed"もしrefname = "エンジン回転" /> </ canmsg> </レスポンス> </ requestresponsecheck> <! -で#11行目に関係しますExcelファイル- > <requestresponsecheckタイムアウト= "1000msの" MINTIME = "100US"> <要求> <canmsg ID = "EngineData"バス= "エンジン" /> </リクエスト> <応答> <canmsg ID = "EngineInfo"バス= "コンフォート"> <名前signalref = "Comf_EngTemp"もしrefname = "EngineTemp" /> </ canmsg> </レスポンス> </ requestresponsecheck> <! - Excelファイルに#12行目に関係します- > <requestresponsecheckタイムアウト= "1000msの" MINTIME = "100US"> <byteref POS = "0"のRefPos =" 0" /> <要求> <canmsgのID = "GearBoxInfo"バス= "エンジン" /> </リクエスト> <応答> <canmsg ID = "EngineInfo"バス= "コンフォート"> <signalref名= "Comf_Gear"もしrefname = "ギアボックス" /> </ canmsg> </レスポンス> </ requestresponsecheck> <! - Excelファイルに#13行目に関係する- > <requestresponsecheckタイムアウト= "2000us" MINTIME = "100US"> <要求> <canmsg ID = "IgnitionInfo"バス= "コンフォート" /> </要求> <レスポンス> <canmsg ID =」Ignition_key」バス= "エンジン"> </ canmsg> </レスポンス> </ requestresponsecheck> <! - Excelファイルに#14行目に関係する- > <requestresponsecheckタイムアウト= "1000msの" MINTIME = "100US"> <要求> <canmsg ID = "LSeat_Sensoric"バス= "コンフォート" /> </リクエスト> <応答> <canmsg ID = "ComfortStatus"バス= "エンジン"> <signalref名= "DriverDetect"もしrefname = "Comf_DriverDetection" /> </ canmsg> </レスポンス> </ requestresponsecheck> <! - Excelファイルに#15行目にも関する- > <requestresponsecheckタイムアウト= "1000msの" MINTIME =」100US "> <要求> <canmsg ID =" RSeat_Sensoric」バス= "コンフォート" /> </リクエスト> <応答> <canmsgのID = "ComfortStatus"バス= "エンジン"> <signalref名= "PassengerDetect"もしrefname = "Comf_PassengerDetection" /> </ canmsg> </レスポンス> </ requestresponsecheck> </条件> <! -このゲートウェイをチェック単離されたコンフィギュレーション(試験刺激)のいずれかで使用することができ 、または他のための余分な刺激が、必要とされないセットアップ内 のECUは、刺激メッセージを送信しています。 これは、生成ダイアログ内で制御することができます。- > <! - > -テストケースによる刺激は、生成時に選択されている < -スタート!: "<テストケースのタイトル= IDENT =" "信号のための刺激値はCarSpeed"> <cansignal名= CarSpeed "MSG = "ABSdata"バス= "エンジン"> 0 </ cansignal>" </初期化> <初期化タイトル= ""待ちます= "3000ms "> <cansignal名=" CarSpeed" MSG = "ABSdata"バス= "エンジン"> 255 </ cansignal> </初期化> </テストケース> IDENT = <テストケースのタイトルは= "信号Gear_Lockための刺激値"」 "> <タイトルを初期化=" "待つ=" 3000ms "> <cansignal名=" Gear_Lock」msgが= "ABSdata"バス= "エンジン"> 1 </ cansignal> </初期化> "<タイトルを初期化= "3000ms"=待つ"> <cansignal名= Gear_Lock" MSG = "ABSdata"バス= "エンジン"> 2 </ cansignal>" </初期化> </テストケース>を <テストケースタイトル= "信号のための刺激値はエンジン回転数" IDENT = ""> "<3000ms "=を待つ"" =タイトルを初期化> <cansignal名=エンジン回転数" MSG = "EngineData"バス= "エンジン"> 0 </ cansignal>" </初期化> <タイトルを初期化= "" = "3000ms"を待ちます> <cansignal名= "エンジン回転" MSG = "EngineData"バス= "エンジン"> 8000 </ cansignal> </初期化> </テストケース> <テストケースタイトル= "信号EngineTempの値を刺激"のident = ""> <初期化タイトル= "3000ms" =を待つ" "> <cansignal名=" EngineTemp" MSG = "EngineData"バス= "エンジン"> - 50 </ cansignal> </初期化> </初期化> </テストケース> <タイトルを初期化= ""=" 3000ms "を待ちます> <cansignal名= "EngineTemp" MSG = "EngineData"バス= "エンジン"> 150 </ cansignal> <テストケースタイトル= "信号ギアボックスの値を刺激"のident = ""> <=タイトルを初期化""待っ= "3000ms" > <cansignal名= "ギアボックス" MSG = "GearBoxInfo"バス= "エンジン"> 0 </ cansignal> </初期化> <タイトルを初期化= "3000ms" =を待つ" "> <cansignal名="ギアボックス" MSG =」 GearBoxInfo」バス= "エンジン"> 8 </ cansignal> </初期化> </テストケース> <テストケースタイトル= "メッセージイグニッション" IDENT = ""の値を刺激> <タイトルを初期化= ""待つ= "6000us "> <canmsgのID =" IgnitionInfo"バス= "コンフォート"> <バイトPOS = "0"> 0x12を</バイト> </ canmsg> </初期化> </テストケース> <テストケースタイトル="信号Comf_DriverDetectionの値を刺激"のident = ""> "<タイトルを初期化= "3000ms"=待つ"> "0 </ cansignal> <cansignal名= Comf_DriverDetection" MSG = "LSeat_Sensoric"バス="コンフォート>は" </初期化> = <タイトルを初期化""待っ= "3000ms" > <cansignal名= "Comf_DriverDetection" MSG = "LSeat_Sensoric"バス= "コンフォート"> 5 </ cansignal> </初期化> </テストケース> <テストケースタイトル= "信号Comf_PassengerDetectionの値を刺激" IDENT = ""> <初期化タイトル= "3000ms ">"=待つ" "=バス」<cansignal名=" Comf_PassengerDetection" MSG =" RSeat_Sensoricをコンフォート"> 0 </ cansignal> </初期化> <タイトルを初期化= ""=" 3000ms "を待ちます> <cansignal名=" Comf_PassengerDetection」MSG = "RSeat_Sensoric"バス= "コンフォート"> 5 </ cansignal> </初期化> </テストケース> <テストケースタイトル= "刺激後10秒以上待ってから、純粋に観察する" IDENT = ""> <をuntilendタイトル= ""待つ= "10S" /> </テストケース> < -エンド:!テストケース自体- > </ testmodule>