2016-09-15 1 views
0

私はC#でセレンに取り組んでいます。テストスクリプトでは、データベースの未払い残高をリセットし、UIを介してトランザクションを購入し、UI減少する。 私は更新linqクエリを実行し、次のステップで私は製品とチェックアウトを購入するコードを書いていました。このテストケースはデバッグモードでは実行されていますが、実行モードでは失敗しています。最終的な残高は、テストケースの実行中に減少することはなく、テストケースのデバッグ時には減少しています。どうした。'update' linqクエリの後にセレンテストステップを遅らせる

+0

私はSystem.Threading.Thread.Sleep(30000)を使用しましたlinqクエリでsubmitchanges()の後にうまくいきました。 – seleniumtester

答えて

0

標準的な待機時間を設定できますが、待機時間が長くなりすぎてテストが遅くなったり、サーバーの動作が遅くなってもテストに失敗することがあります。

は更新が行われているかどうかを確認するためにループを試してみてください:

var iterationCount = 10; 
var iterationWaitTime = 250; 
var hasChanged = false; 
var currentValue = /*get current value*/; 
var i = 0; 

while (!hasChanged && i++ < iterationCount) 
{ 
    var newValue = /*get new value*/; 

    hasChanged = object.Equals(currentValue, newValue); 
    currentValue = newValue; 
} 

Assert.IsTrue(!hasChanged && i++ < iterationCount, "No update detected"); 

/* do test on currentValue here */ 

(PSこれはとても完全に正確でないかもしれないフリーハンドである)

関連する問題