2012-04-10 21 views
0

私はWatiNに比較的新しいですが、私は次の行が働いているだろうと思っているだろう:WaitUntilExists()メソッドの呼び出し

System.NullReferenceException: Object reference not set to an instance of an object. 

I:

WebBrowser.Current.Table("grid").FindRow(value, columnNum).WaitUntilExists(); 

は現在、それが次の例外で失敗それが推測しているのは、tetが実行されているときに問題の行が移入されていないため、FindRowがnullを返すということです。 - しかし、(タイムアウト付き)構築された方法でWatiNを使用することを好む働く

while (WebBrowser.Current.Table("grid").FindRow(value, columnNum) == null){} 

私はとのラインを交換しました。

私の最初のコード行を修正する方法についてのアイデアはありますか?ありがとう!

答えて

0

まあ、WaitUntilExitsは()(メソッドではありません:D)WaitUntilIsNotNullとは異なっているあなたは、おそらく

WebBrowser.Current.Table("grid").FindRow(value, columnNum).WaitForComplete() 

または

WebBrowser.Current.Table("grid").FindRow(value, columnNum).WaitUntilExists() 

または

WebBrowser.Current.Table("grid").FindRow(value, columnNum).WaitUntil(attribute, value) 
を使用することができます

必要なものに応じて

+0

あなたの答えをありがとう、最初の2つの仕事をしない:(行自体は存在しない、と私は質問に表示される同じエラーが発生します。コードの3番目の部分については、私は属性があると思いませんか? – Karan

+1

グリッドが存在するかどうか最初に確認し、特定の行を確認したい場合があります。 WebBrowser.Current.Table( "grid")。WaitUntilExists() –

+0

ありがとうございました。私はすでにそれを行うが、私のグリッドはajaxを使って更新される。これは、グリッドの作成時に作成される行では問題ありませんが、グリッドの作成後に作成される新しい行では問題になります。 – Karan

関連する問題