2016-07-19 9 views
0

テスト自動化にはUFT12.51を使用しています。 私たちがスクリプトを夜間に実行するときには、問題を以下のように直面しています。UFT/QTP = Excelから更新された値が取得されない

excelで今日の日付を取得するために '= Today()'関数を使用しました。
今日の日付は2016年7月19日です。夜間にスクリプトを実行すると、午後11時59分以降に更新日[2016年7月20日]が表示されますが、2016年7月19日に&が送信されます。

午後11時59分以降にExcelから更新された値を取得するにはどうすればよいですか?

+0

23:59から0:00の間の時間について話していますか? –

+0

はい... 23:59より1日後に変更する – onkar

+1

日が0:00に変更されます! 23:59:59.999999はまだ昔のことです。システムクロックが正しく設定されている場合、Excelは正確に0:00から開始する新しい日を返します。 –

答えて

0

@onkar:単に次のことを行うことができます 1)実行の開始時にすべてのデータがインポートされた場合、日付検証部分の前にコード内のExcelシートを再度インポートします。 Excelがインポートされると、新しいデータが更新されます。 それとも 2)検証ライン VAR = DateAdd関数(「D」、0、日付)

P.Sより前の日付を取得するには、VBの関数のコードを使用します。でも、私たちのプロジェクトでは、それは一晩実行中に問題を作成しました。時代を変え続ける日付、時間、値のすべてのシナリオで、使用前にインポートする必要があります

3

Excelの計算式はUFTのデータ型では機能しません。値を読み込むだけで、あなたが探している再計算をしないでください。現在の日付の値をデータテーブルに残さず、UFT/QTPで使用可能なvbscript Date関数を使用するだけで、必要に応じて日付を正しく設定できます。

+2

QTP内のDataTableにデータシートをインポートすると、実際にExcelのコントロール下にあるスプレッドシートではなく、QTPの制御下にあります(インポートされたDATAをExcelに変換しています)。数式を処理する際にExcelほど正確です。 1つの選択肢は、データシートをディスクに保存しておき、真夜中後にREIMPORT ... QTPに= Now()または= Today()Excel機能を適切に評価させるはずです。さらに良いことに、Daveによれば、VBScriptのtoday関数を使用するだけです。 –

関連する問題