SQLDb (JA)-工事中
T-Plan Robot Enterprise用SQLデータベースプラグイン
内容
1.概要
2.プラグインのインストール
3.使用方法
1.概要
についてSQLデータベースプラグインにより、T-Plan Robot Enterprise テストスクリプトは JDBC 接続を介して SQL データベースと対話することができます。
このプラグインは、主にTPR言語.この機能はJavaテストスクリプトからも呼び出すことができますが、JDBC APIを直接使用する方が簡単かもしれません。Javaからプラグイン・スクリプトを呼び出すにはDefaultJavaTestScript.run()メソッドを使うか、あるいはJavaテストスクリプトの基礎の文書がある。
このプラグインは、完全なソースコードで「そのまま」提供されます。自由に変更して再利用することができます。NetBeansやEclipseのようなIDEでコンパイルするには、T-Plan Robot Enterpriseのインストールフォルダにあるrobot.jarファイルをプロジェクトのクラスパスに置きます。
ご質問やご提案がございましたらTプラン・サポート.T-Planが提供する他のプラグインのリストについては、以下を参照してください。これ.
2. プラグインのインストール
T-Plan Robot 3.2以上が必要です。インストールするには
オプション1:
ファイルを解凍し、tprdb.jarファイルをRobotのインストールディレクトリ下のplugins/ディレクトリにコピーします。これでRobotが起動時にクラスをロードするようになります。
ロボットを起動または再起動します。
オプション 2:
ファイルをハードドライブ上の任意の場所に解凍します。
TPRスクリプトでプラグインを使用する場合は、各テストスクリプトの先頭に以下のコマンドを追加してください:
含む"<場所>/tprdb.jar"Java テストスクリプトでプラグインを使用する場合は、tprdb.jar ファイルを Java クラスパスに追加します。
プラグインをアンインストールするには、ファイルを削除してください。
3.使用方法
このプラグインには、5つのJavaテストスクリプトが含まれています:
スクリプト名 | 説明 | 戻り値 |
|---|---|---|
com.tplan.db.Connect | 指定したデータベースへの接続を作成する。 | 0 成功時1 JDBCドライバが利用できない時2 接続に失敗した時 |
com.tplan.db.Execute | SQL文を実行する。 | 0 成功時1 接続が作成されていない時2 ステートメントの実行に失敗した時 |
com.tplan.db.Commit | トランザクションをコミットする。 | 成功時01 コネクションが作成されていないとき2 コミット操作に失敗したとき |
com.tplan.db.Rollback | トランザクションをロールバックする。 | 0 成功時1 接続が作成されていない時2 ロールバック操作が失敗した時 |
com.tplan.db.Disconnect | データベースから切断する。 | 常に0を返す |
プラグインスクリプトは、TPRテストスクリプトからコマンド実行.コマンドインスタンスはコマンドウィザードツールを使用します。既存の「実行」コマンドを編集するには、そのコマンドを右クリックし、コンテキストメニューから「プロパティ」を選択します。
を確立する。データベース接続JDBCドライバーをダウンロードし、ドライバーのクラス名とデータベースのURLを調べる必要があります:
Java DBそしてMySQL - を参照してください。JDBCチュートリアル
湖例1
MS SQL Server 用 Microsoft JDBC ドライバ 4.0
インストールする際には、どの.jarファイルを使用するかについての説明をお読みください:"C:¥Program Files¥Microsoft JDBC Driver 4.0 for SQL Server¥sqljdbc_4.0¥enuhelp¥default.htm"
上記の注記は、明らかにJDBCドライバ4.0がインストールされていることを前提としています。他のバージョンがインストールされている場合は、パスを変更してください。
湖例2
お使いのDBバージョンに対応するobjdbc6.jarファイルをピックアップします。
湖例3
その他のデータベースについては、DBベンダー(製作者)にお問い合わせください。
ドライバは通常JARファイルで配布されます。これをRobotから見えるようにするには、以下のいずれかの方法を使います:
の呼び出しを使ってロードする。含む(例のケース)。
Robotのインストールディレクトリ下のplugins/フォルダにコピーします(Robotの再起動が必要です)。
ロボットの起動コマンドのクラスパスにJARファイルのパスを指定します。
デフォルトのプラグインデータベース接続のプール.つまり、作成された接続はcom.tplan.db.Disconnectの呼び出しによって明示的に閉じられるか、Robotが終了するまで存在します。他のスクリプトが同じデータベースへの接続を呼び出すと、新しい接続の代わりにプールされた接続を受け取ります。これには2つの利点があります:
スクリプトやその一部を頻繁に実行する必要があるテストスクリプトの開発段階で、時間を節約できる。
テストスクリプトが一度に複数のデータベースを操作する必要がある場合に、接続を高速に切り替えることができます。
プーリングの仕組みは同期されていません。つまり、並行して実行されている 2 つのテストスクリプトが同じデータベースに接続すると、同じ接続を使用してしまう可能性があります。そのため、プーリング・モードは、1 つの JVM 内で複数の自動テスト・プロセスを並行して実行する環境では使用できません。プーリングをオフにするには、com.tplan.db.Connect呼び出しにpool=falseパラメータを渡します。接続はプールされず、以前に明示的に閉じられない限り、スクリプト終了後に自動的に閉じられます。
JDBC フレームワークはデフォルトで、アクティブ化されたオートコミットモード.これは、個々のSQL文がトランザクションとして扱われ、実行直後に自動的にコミットされることを意味します。この動作を抑制するには、com.tplan.db.Connect呼び出しにautocommit=falseパラメータを渡し、com.tplan.db.Commitとcom.tplan.db.Rollback呼び出しを使ってスクリプトからトランザクションを管理します。
Disconnectを除くすべてのプラグインスクリプトは、経験豊富なスクリプトを処理する。DBエラー以下の通りである:
エラーは実行ログ.
変数 _DB_ERROR にはエラーの説明が格納される。
スクリプトはゼロ以外の終了コードを返す。
を呼び出すと、呼び出し元のスクリプトは終了する。終了コマンド.この動作を抑制するには、"makefail=false "パラメータを指定して接続を開始します。このモードを使用する場合は、各 DB 呼び出しの戻り値をテストし、失敗が検出された場合に適切な処置を取ることを推奨します。
SQL SELECT ステートメントを使用してデータを照会するには、com.tplan.db.Execute スクリプトを使用します。結果のデータは、変数の形で呼び出し元のテストスクリプトに公開されます:
変数名 | 説明 |
|---|---|
カラム数 | SQL SELECT文の結果のカラム数。 |
DB_ROW_COUNT | SQL SELECT 文の結果の行数。 |
_DB_VALUE<行>_<列>」。 | 指定された行、列の値。例えば、_DB_VALUE_2_3変数には2行目のデータの3番目の値が格納される。 |
例 1: Java DB インスタンス (Derby)
以下の例は、組み込みJava DBインスタンス(Derby)に接続し、"dummy "というテーブルを作成し、2つの行を入力し、テーブルの内容を照会し、_DB_VALUE変数から取得した値を出力するテスト・スクリプトです。JDKがインストールされており、derby.jarへのインクルード・パスが正しく設定されていれば、このサンプルをすぐに実行できます。
#LoadtheJARfilewiththeJDBCdriverclassforJavaDB含む"C:◆Program Files#Connecttothedatabase走る"com.tplan.db.Connect"ドライバー"org.apache.derby.jdbc.EmbeddedDriver"url="jdbc:derby:testdb;create=true"#Createダミー "テーブルにデータを入力する。走る"com.tplan.db.Execute"ステートメント"create table dummy (pid int, Name varchar(20))"走る"com.tplan.db.Execute"ステートメント"ダミー値に挿入 (1, 'Value')"走る"com.tplan.db.Execute"ステートメント"ダミー値に挿入 (2, '別の値')"#Querythetablecontent走る"com.tplan.db.Execute"ステートメント"select * from dummy"#データを反復処理し、値を実行ログに書き込む。for(row=1; {row} < {_DB_ROW_COUNT}+1; row={row}+1) { 。 にとって(column=1; {column} < {_DB_COLUMN_COUNT}+1; column={column}+1) {. ログ「[行, 列] = [{行}, {列}]の値: \"{_DB_VALUE_{row}_{column}}"" }}#Closethedatabaseconnection.走る"com.tplan.db.Disconnect"
例 2: SQLExpress DB インスタンス
以下の例では、MS SQL Server データベースに接続しています:
#負荷そのJAR混雑とそのジェイデービーシードライバークラスにとってSQLサーバーデータベース含む"C:◆Program FilesMicrosoft JDBC Driver 4.0 for SQL Server#Connecttothedatabase走る"com.tplan.db.Connect"ドライバー"com.microsoft.sqlserver.jdbc.SQLServerDriver"url="jdbc:sqlserver://localhostSQLEXPRESS;DatabaseName=<dbName>;UserName=<SQLusername>;Password=<SQLpassword>
例3:オラクルDB
以下の例では、ローカル・マシンで稼動しているデフォルトのオラクル・データベース(orcl)に接続し、すべてのテーブル名を照会している:
//インクルード・コマンドは、JARファイルが
// このスクリプトと同じフォルダ
含む"tprdb.jar"
含む"ojdbc6.jar"
//Connecローカルでオラクルをシステム
走る"com.tplan.db.Connect"ドライバー"oracle.jdbc.driver.OracleDriver"パスワード「オラクル12ユーザー「システムurl="jdbc:oracle:thin:@//localhost:1521/orcl"
//Listalltablenames
走る"com.tplan.db.Execute"ステートメント"select table_name from tabs"
スクリプトが正常に実行されると、変数は実行バーテーブル
