我正在寫一個使用C#,Ranorex dll庫和Xpath表達式作爲我的定位器的自動化測試。這一切都很好,但在某些情況下我想使用的if else語句從可能的2周的XPath選擇適當的XPath:C#如果Else語句選擇適當的Xpath表達式
Public class Locators
{
public const string Xpathone = "//form[@controlname='x1']";
public const string Xpathtwo = "//form[@controlname='x2']";
}
Step Definition
[Binding]
public class HomePageSteps
{
public void SelectAppropriateXpath()
{
Validate.Exists(HomePage.Header, Config.ExistsTimeOut);
if (Validate.Exists(HomePage.Xpathone))==true
{
mouse.click(HomePage.Xpathone);
}
else
{
mouse.click(HomePage.Xpathtwo);
}
}
但我仍然得到一個錯誤:當我
Cannot implicitly convert type 'void' to 'bool'
即使更改類型爲bool:
public bool SelectAppropriateXpath()
錯誤仍然存在,這讓我很困惑。當我使用'公共布爾'我也得到:
Error - not all code paths return a value
任何想法將不勝感激?
或者:完全刪除'if':'mose.click(Validate.Exists(HomePage.Xpathone)?HomePage.Xpathone:HomePage.Xpathtwo);' –
'Validate.Exists'確實返回'bool'嗎? –
@Marc Gravell'mouse.click(Validate.Exists(HomePage.Xpathone)?HomePage.Xpathone:HomePage.Xpathtwo);'我喜歡這個例子,並不知道這是可能的。但是我仍然得到一個錯誤:**不能隱式地將類型'void'轉換爲'bool'** @Hans Kesting xpaths與網頁上的元素相關,它們可以有所不同,但我希望以任何方式繼續測試。根據方法doc是它可以[http://www.ranorex.com/Documentation/Ranorex/html/Overload_Ranorex_Validate_Exists.htm] –