我有4個頁面,其元素和功能非常相似。但是,這些元素都有不同的ID,具體取決於您所在的頁面。目前,我有他們構建如下(例如A類& B類)。我想重構這個,因爲所有的方法在兩個類之間是相同的,但是我不知道該怎麼做,因爲元素有不同的ID(我使用Page Factory,但是我願意不使用它)。Selenium Webdriver C#帶有相似元素的頁面
任何洞察力非常感謝!
public class A : BaseClass
{
[FindsBy(How = How.Id, Using = "ALoginId"]
public IWebElement Login {get; set;}
[FindsBy(How = How.Id, Using = "APassword"]
public IWebElement Password {get; set;}
[FindsBy(How = How.Id, Using = "ALoginBtn"]
public IWebElement LoginBtn {get; set;}
public void Login()
{
Login.SendKeys("username");
Password.SendKeys("password");
LoginBtn.Click();
}
}
public class B : BaseClass
{
[FindsBy(How = How.Id, Using = "BLoginId"]
public IWebElement Login {get; set;}
[FindsBy(How = How.Id, Using = "BPassword"]
public IWebElement Password {get; set;}
[FindsBy(How = How.Id, Using = "BLoginBtn"]
public IWebElement LoginBtn {get; set;}
public void Login()
{
Login.SendKeys("username");
Password.SendKeys("password");
LoginBtn.Click();
}
}
你知道一點JAVA嗎。我可以在JAVA中顯示它。 –
我只能說,在 [FindsBy(如何= How.Id,使用= 「ALoginId」] 公共IWebElement登錄{獲取;集;} 繼續使用=一些變量和更改登錄元素: [FindsBy(如何= How.Id,使用=字符串] 公共IWebElement元素{獲取;集;}。 現在通過用戶名,密碼和loginbutton 3個不同的方法,通過這個元素和字符串 很抱歉,但我不知道C#希望你能和它聯繫嗎?回覆:-) –
我確實知道Java,所以如果你能告訴我一個例子,我會很感激的, – AngieM