フィールドを完了した後に表示される可能性のあるOKボタンをクリックする必要があります。表示には5秒かかることがあります。だから私は必要(if)存在を5秒待つ。ページフレームワークでPageFactoryを使用していますが、いくつかの解決策を見てきましたが、このコンテキストで実装する方法を理解できません。PageFactoryを使用する場合、Selenium Webdriver C#が待機する
[FindsBy(How = How.Name, Using = "OK")]
private IWebElement alertOKBtn;
public void PopulateFields //method to populate the form
{
// Populate fields
dateFromField.SendKeys(DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss"));
// Click on this field
descriptionField.Click();
//OK button might appear, might take 5secs - pseudcode
if (***alertOKBtn exists, wait for it for 5 secs..***)
{
alertOkBtn.Click();
}
//continue populating form
}
PopulateFields方法は次のように[テスト]から呼び出される: -
Pages.PTW.PopulateFields()。
Page.PTWはPageFactory.InitElements(browser.Driver、page)のgetメソッドです。戻るページ。
ありがとうございます! - ** this.driver **が認識されない "ドライバの定義と拡張メソッドがない..."私のC#の理解の欠如。そのクラスのthis.driverをどのように認識するか分かりませんか? –
また、alertOkBtnが**表示されない可能性があります。**テストは** alertOkBtn.Click();を実行せずに**移動する必要があります。これが起こるならば。 –
問題を解決できてうれしいです。私の場合のthis.driverはあなたの場合のブラウザです。 また、文字列の代わりにブール値を返し、コードが の場合、(waittosee) { // your logic } – Bendram