-1
我的項目中有許多類似的執行函數,這些函數都來自基類。這些文件中的每一個都包含一個名爲IsAt()的函數,該函數根據我是否在正確的頁面上或不在我的過程中返回布爾值。下面是跨這些文件所使用的功能的一些例子..在不添加參數的情況下在基類中創建基於這三個函數的通用函數
實施例1
public bool IsAt()
{
try
{
DriverUtils.WaitTillElementVisible(_driver, ObjectRepository.H1);
}
catch (WebDriverTimeoutException)
{
return false;
}
if (ObjectRepository.PageHeaderLocator.Text != ObjectRepository.textOnPageIdentifier)
return false;
Console.WriteLine($"Login Page loaded successfully");
return true;
}
例2
public bool IsAt()
{
try
{
DriverUtils.WaitTillElementVisible(_driver, ObjectRepository.UseAuthCodeBy);
}
catch (WebDriverTimeoutException)
{
return false;
}
if (ObjectRepository.UseAuthCodeLocator.Text != ObjectRepository.textOnPageIdentifier)
return false;
Console.WriteLine("Select two factor provider page loaded successfully!");
return true;
}
實施例3
public bool IsAt()
{
try
{
DriverUtils.WaitTillElementVisible(_driver, ObjectRepository.H1);
}
catch (WebDriverTimeoutException)
{
return false;
}
if (ObjectRepository.PageHeaderLocator.Text != ObjectRepository.TextInPageIdentifier)
return false;
Console.WriteLine("Forgot password page loaded successfully");
return true;
}
結構:
基於這裏的功能是結構以下是我認爲這將是實現..
public virtual bool IsAt()
{
OpenQA.Selenium.By obj;
var message = "My message!";
try
{
DriverUtils.WaitTillElementVisible(_driver, obj);
}
catch (WebDriverTimeoutException)
{
return false;
}
if(obj.locator.text != obj.textOnPageIdentifier)
return false;
Console.WriteLine(message);
return true;
}
我怎樣才能實現這些功能作爲一個通用的功能?沒有向函數引入參數可能嗎?例如。 public bool IsAt(string message, obj myObject)