2016-12-28 59 views
0

我有一個簡單的循環,點擊測試列表。IList <IWebElement>可以使用PageObject嗎?

該循環工作順利,但我不知道它是否有可能使用Page對象? 我似乎無法找到是否有其他人做到了。任何幫助,將不勝感激。

這是我

public SeleniumPage ClickLink() 
     { 
      IList<IWebElement> Items= PropertiesCollection.driver.FindElements(By.XPath("html/body/div/div[2]/div/div[1]/div[1]/ul/li")); 
      foreach (IWebElement Item in Items) 
      { 
       Item.ChinsayClick(); 
       System.Threading.Thread.Sleep(2000); 
      } 
      return new SeleniumPage(); 
     } 

但寧願有這樣的事情。

[FindsBy(How = How.XPath, Using = "html/body/div/div[2]/div/div[1]/div[1]/ul/li")] 
     public IWebElement List { get; set; } 


    public SeleniumPage ClickLink() 
      { 
       IList<IWebElement> Items= List; 
       foreach (IWebElement Item in Items) 
       { 
        Item.ChinsayClick(); 
        System.Threading.Thread.Sleep(2000); 
       } 
       return new SeleniumPage(); 
      } 
+1

什麼是你有什麼問題? – Guy

+0

那麼...我之前問過我注意到這是很容易解決=/ 很快會發布我的答案。 – Dymond

回答

0

看起來這是一個簡單的答案,所以我會回答自己的問題,如果它可以幫助別人的身體。

我們可以直接添加的IList到PageObject爲

Public IList<IWebElement> 

然後叫它從環

解決方案:

[FindsBy(How = How.XPath, Using = "html/body/div/div[2]/div/div[1]/div[1]/ul/li")] 
public IList<IWebElement> Lists { get; set; } 

public SeleniumPage() 
{ 
    foreach (IWebElement List in Lists) 
    { 
     List.ChinsayClick(); 
     System.Threading.Thread.Sleep(2000); 
    } 
    return new SeleniumPage(); 
} 
+0

不要忘記回來接受這個答案,這樣問題就會被標記爲回答。 – JeffC

相關問題