1
A
回答
1
在我看來,FluentLenium沒有Byxpath(By.id等),因爲它完全依賴於CssSelector。
既然你可以使用自定義過濾:
包含 containsWord notContains startsWith notStartsWith 的endsWith notEndsWith
我個人看不出有任何理由使用XPath。而且,XPath經常被認爲是定位網頁元素的「不良做法」。
0
是的!在FluentLenium 3.4.0中,他們有@FindBy註釋,可以讓你通過xpath找到FluentWebElements。
import org.fluentlenium.adapter.junit.FluentTest;
import org.fluentlenium.core.FluentPage;
import org.fluentlenium.core.annotation.Page;
import org.fluentlenium.core.annotation.PageUrl;
import org.fluentlenium.core.domain.FluentWebElement;
import org.junit.Test;
import org.openqa.selenium.support.FindBy;
@PageUrl("http://www.kennethkuhn.com/")
class Simple extends FluentPage {
@FindBy(xpath = "/html/body/table/tbody[5]/tr/td[1]/center/a[1]/b/font")
FluentWebElement element;
public void enterMuseum(){
element.click();
}
}
public class test extends FluentTest {
@Page
Simple page;
@Test
public void testStuff(){
goTo(page).enterMuseum();
}
}
PS:有時存在XPath是非常有用的,例如當你在一堆類似的前端遺留應用程序,永遠不會改變(每個應用程序ID /名稱/類的所有不同)擔任但仍然需要測試,因爲後端的東西仍然可能會破壞修訂版本。雖然如果您測試的Web應用程序發生了一些變化,儘管很有可能您所有的xpath都會中斷,但將所有內容都固定在DOM ID上會更好。
相關問題
- 1. 使用XPath在XML中選擇值不等於值的孩子
- 2. jQuery等效選擇器
- 3. Xpath的多個過濾器中選擇
- 4. 的XPath選擇價值
- 5. 包含類,子和鄰接兄弟選擇器的CSS選擇器的等效XPath是什麼?
- 6. jQuery的xPath選擇器&&
- 7. 類的Xpath選擇器
- 8. JQuery的XPath選擇器
- 9. XPath相當於XPath的選擇器
- 10. C#Selenium無效選擇器異常
- 11. 的XPath無效選擇錯誤
- 12. 將Robot Framework xPath轉換爲等效的Selenium Python。
- 13. 的XPath選擇
- 14. XPath的選擇
- 15. 在數據綁定值中選擇Selenium中的下拉選項
- 16. 等效於當前XPath的XPath()
- 17. Xpath的 - 選擇多個值(鍵值對)
- 18. seleniumIDE xpath選擇器
- 19. Xpath子選擇器
- 20. Selenium-python中的css選擇器中括號[?]的問題
- 21. PHP的XPath選擇
- 22. 在JPA2標準中選擇......等效於
- 23. $(選擇器).text()等效於C#(修訂)
- 24. 無法從Selenium中的保管箱列表中選擇值
- 25. :css3容器XPath選擇器
- 26. XPath選擇器中是否存在「或」?
- 27. 使用PHP的xpath選擇屬性值
- 28. XPath:選擇具有空值的標記
- 29. 如何在Selenium中使用Xpath選擇記錄
- 30. 選擇並點擊一個帶有C#selenium中的CSS選擇器的按鈕
我試圖使用XPath的原因是我的應用程序太大,並不是所有的小部件(GWT)都有ID。但現在,我看到findById是最有效和最可靠的定位器。謝謝伊萬。 – AmineP90X