私はログイン機能を書いています。エラー/予期しない条件の場合にこの機能を正常に終了したいと思います。例:パスワードを入力するとき、フィールドが変更されているか存在していませんパスワードフィールドが存在しないというメッセージが表示されて関数を終了します。ファンクションステータスは「Fail」であり、正確なエラーメッセージでなければなりません。発生するかもしれない他の例外を処理するのと同じ方法です。この機能を正しく行うための正しい方法は何ですか、私はWebオブジェクトを扱う将来の機能でこのプラクティスに従うことができますか?Webdriver:ユーザー定義関数を書く正しい方法は何ですか
public boolean Login(String userName, String password, String url)
{
_driver= new FirefoxDriver();
_driver.manage().window().maximize();
_driver.manage().timeouts().implicitlyWait(20,TimeUnit.SECONDS);
_driver.get(url);
_driver.findElement(By.Xpath(".//*[id='usename']")).sendKeys(userName);
_driver.findElement(By.Xpath(".//*[id='pword']")).sendKeys(password);
_driver.findElement(By.Xpath(".//*[id='btn']")).click();
String title = _driver.getTitle();
boolean pass;
if (title.toLowerCase().contains("homepage"))
{
pass=true;
}
else
{
Assert.fail("Manager home page not opened after login");
pass=false;
}
return pass;
}
ありがとうございます。私は機能のログインでtry catchブロックを使用する必要がありますか? NoSuchElementExceptionをキャッチするには?それは良い練習か不要か? – JavaSeleniumNovice
これは本当にあなたのスクリプトの設定方法に依存します。あなたが例外を捕まえたら何をするつもりですか?あなたはそれから回復できますか?もしそうなら、それをキャッチしたいかもしれません。あなたがそれから回復できない場合、例外をキャッチする唯一のことはもっと理解できるメッセージを出力することです。私は一般的に多くの例外をキャッチしませんが、それは本当に依存しています。 – JeffC
この回答が役に立ったら、それをアップしてください。あなたの質問に答えた場合は、それを了承済みとしてマークすることを忘れないでください。 – JeffC