私はセレンの初心者であり、多くの調査の結果、停止しました。以下のようなコードでさまざまな例を見てきました。
クラス LoginPage
{
プライベート IWebDriver ドライバー。
public LoginPage (IWebDriver ドライバー)
{ this.driver = ドライバー; }
//ログインに成功するとホームページが表示される
public HomePage DoLogin (文字列ユーザー、文字列パス)
{
driver.FindElement(By.Name("ユーザーフィールド")).SendKeys(ユーザー);
driver.FindElement(By.Name("passfield")).SendKeys(pass).Submit();
// 上記が失敗し、LoginPage に留まるとは何ですか? ここで HomePage オブジェクトを返すのは悪い考えです
HomePage ホームページ = 新しい HomePage(ドライバ)
PageFactory.InitElements(ドライバー、ホームページ)
ホームページを返す;
}
}
クラスホームページ{
公開ホームページ(WebDriverドライバー)
{ this.driver = ドライバー; }
public void clickExitButton()
{
exitButton.click();
}
public LoginPage ログアウト()
{
clickExitButton();
LoginPage loginpage = new LoginPage(driver)
PageFactory.InitElements(ドライバー、ログインページ);
ログインページを返します。
}
}
私の質問:
どちらかのクラスが本来の目的を果たせていないのは何ですか? ログインに失敗したら?それでも HomePage オブジェクトが返されます。これはあってはならないことですよね?失敗に立ち向かうために何ができるでしょうか?私が見た例のほとんどは、物事が正しく「うまくいく」ことを前提としています。
上記の実装は C# で正しいですか? 私が見た例のほとんどはJava用です-私がC#を知っているように、それらをC#に変換したかっただけです:)
ありがとう!