2017-08-06 4 views
0

私はオートメーションテスター用のライブラリを開発しています。私はキーを送信するためのメソッドを書いており、キーを送信した後、気象テキストの内容が正しく設定されているかどうかを確認したい。IWebElementのテキストプロパティがキーを送信した後に空の文字列を返しています

public void SetValue(IWebelement element, string value) 
{ 
    element.SendKeys(value); 
    if(element.Text!=value) 
     throw new Exception("Failed to set value."); 
} 

上記のコードでは、常に例外が発生しています。 DOMで要素を再度検索せずに同期を行うための解決策はありますか?

答えて

0

テキストが追加されているかどうかを確認するには再度要素を取得する必要があります。 Webブラウザとドライバオブジェクトが同期していない可能性があります。同じ要素のオブジェクトを作成し、テキストをチェックします。

public void CallingFunction(){ 
IWebElement el1= driver.FindElement(.....)// find control 
SetValue(el1, value); 
el1= driver.FindElement(.....)// find control again 
CheckValue(el1, value) 
} 

public void SetValue(IWebelement element, string value) 
{ 
    element.SendKeys(value); 
} 

public void SetValue(IWebelement element, string value) 
{ 
    if(element.Text!=value) 
     throw new Exception("Failed to set value."); 
} 
1

SendKeysはDOMを変更しないため、WebElementにはTextプロパティを使用して取得できるテキストはありません。しかし、あなたが得ることができる

element.GetAttribute("value") 
関連する問題