2016-07-19 29 views
0

我們使用UFT12.51進行測試自動化。 僅當我們將腳本用於夜間執行時,我們才面臨以下問題。UFT/QTP =未從Excel中獲取更新值

我們在excel中使用'= Today()'函數來獲取今天的日期。
今天的日期是2016年7月19日。當我們爲夜間執行放置腳本時,晚上11:59之後,excel應該給出更新日期[2016年7月20日],但它會發送2016年7月19日&,因爲我們的驗證失敗。

晚上11:59之後,如何從Excel中獲取更新值?

+0

你在說23:59到0:00之間的時間嗎? –

+0

是的。23:59當天變更後 – onkar

+1

當天0:00變更! 23:59:59.999999仍然是過去的一天。如果系統時鐘設置正確,那麼excel將從0:00開始返回新的一天。 –

回答

0

@onkar:只要你可以做以下工作 1)如果在執行開始時導入所有數據,則在日期驗證部分之前的代碼中再次導入excel表單。所以當excel被導入時它會刷新新的數據。 或者 2)使用VB功能代碼驗證行 VAR =使用DateAdd(「d」,0,日)

P.S之前得到的日期:即使在我們的項目在一夜之間執行過程中產生的問題。在所有的日期,時間和值不斷變化的情況下,需要在使用之前導入

3

公式的Excel計算在UFT的數據表中不起作用 - 它只是讀取值並且不讀取數據,請重新計算您正在查找的內容。您最好不要將當前日期值保留在數據表中,而只需使用當前日期的vbscript Date函數,該函數在UFT/QTP中可用,並且可以根據需要正確設置日期。

+2

我認爲問題在於:當您將數據表導入到QTP中的DataTable中時,電子表格實際上並不在Excel的控制下 - 它現在處於QTP的控制之下(它只是導入的Excel數據),並且QTP不是與Excel在處理公式時一樣準確。一種選擇是將數據表保存回磁盤,然後在午夜之後將其恢復......這會導致QTP正確評估= Now()或= Today()excel函數。更好的是,只要使用VBScript的今天功能,就像Dave說的那樣。 –