2016-05-13 4 views
-1

私はc#Selenium Automationの新機能です。コードの再利用のために新しいクラスのメソッドを待つ方法。セレニウムc#

誰でも私にこのコードを再利用できるように新しいクラスまたはメソッドを拡張して新しいメソッドを作成する方法を教えてもらえますか?

new WebDriverWait(PropertiesCollection.driver, TimeSpan.FromSeconds(12)) 
       .Until(ExpectedConditions.ElementExists(By.Id("ctl00_Cont_frame"))); 
+0

WebDriverWait wait = new WebDriverWait(driver、20); wait.until(ExpectedConditions.visibilityOfAllElementsLocatedBy(のxpathやCSS ")));? –

+0

ああ、あなたは私がwaitコマンドを再利用できることを意味 WebDriverWait待ち=新しいWebDriverWait(ドライバ、20); wait.until(ExpectedConditions.visibilityOfAllElementsLocatedBy(第一xpath要素 ")))); ***その他の操作**** wait.until(ExpectedConditions.visibilityOfAllElementsLocatedBy(別のXPath要素 "))); ***その他の操作**** wait.until(ExpectedConditions.visibilityOfAllElementsLocatedBy(別のxpath要素 ")))); –

答えて

0

ああ、メソッドを再利用したい。 PAgeオブジェクトモデルは非常に役に立ちます。あなたのメインクラスがAであり、次に共通の再利用可能なメソッドを作成し、クラスBを作成してそのメソッドをそこに配置したいとします。ここでは、クラスBにwaitメソッドを置き、使用する必要があるときはいつでもクラスaから呼び出します。私の下の例を参照してください

私の主なテストケース:それは、このクラスに

public class SignInPage { 

public void WaitForElementTobeVisible(WebDriver driver, By by) { 
    WebUtils.WaitVisibilityOfElement(driver, by); 
    } 
} 

を呼び出しますそして最後に、これが呼び出されます

SignInPage.WaitForElementTobeVisible(driver, By.cssSelector("input[id='Passwd'][type='password']")); 

public class WebUtils { 

public static void WaitVisibilityOfElement(WebDriver driver, By by) { 

WebDriverWait Wait = new WebDriverWait(driver, 30); 
Wait.until(ExpectedConditions.visibilityOfElementLocated(by)); 
    } 
} 

・ホープthあなたの質問を解決します。 詳細クエリのために私に返信:-) ハッピーラーニング

+0

多くのありがとう!良い –

+0

私の答えが好きなら。ちょうど目盛りをチェックするかupvoteをしてください。 ITは私を助けます:-)ありがとう。 :-) –

関連する問題