2013-10-03 30 views
1

我喜歡在我的自動化框架中使用PageFactory和FindBy註釋來自動定位頁面對象類中的元素。如何使用FindBy和PageFactory機制爲Selenium Web元素指定多個定位器

我有一個WebElement,我需要能夠指定幾個不同的定位器。我認爲FindBys是我的解決方案,但顯然這不是它的工作原理。它相當於driver.findElement(option1).findelement。(option2)。這不是我需要的。我需要一些能夠通過一個或其他定位器查找元素的東西。如果其中一個不起作用,則使用另一個定位器。有沒有辦法在Selenium中使用FindBy批註執行此操作?

+0

你必須做一個定製的解決方案。擴展您的測試用例並創建您自己的自定義PageFactory,以擴展PageFactory – sircapsalot

+0

此外,幾乎任何兩個選擇器都可以組合到一個選擇器中。你能解釋一下你在找什麼,爲什麼你需要兩個選擇器? –

+0

愚蠢的原因。有兩個版本的主頁掛在系統中,取決於如何導航到它。同時我的測試失敗了,因爲元素在頁面的兩個版本中有不同的ID。並且在兩個主頁版本中都不存在單個靜態項目。 – Selena

回答

6
+1

+1 ..從來沒有聽說過! – sircapsalot

+0

@FindAll也可以用於A/B測試,在自動化測試運行期間,我們有不同的定位器基礎版本。 – Mandy

相關問題