0
有沒有什麼辦法讓我們可以參數化,我們通過使用頁面工廠創建一個頁面對象的字符串傳遞參數
例如:
String v = "password";
@FindBy(name=v)
private WebElementFacade password_Field;
我試圖推字符串v到@FindBy但我得到錯誤。
我得到 的註釋屬性的值FindBy.name必須是一個常量表達式
有沒有什麼辦法讓我們可以參數化,我們通過使用頁面工廠創建一個頁面對象的字符串傳遞參數
例如:
String v = "password";
@FindBy(name=v)
private WebElementFacade password_Field;
我試圖推字符串v到@FindBy但我得到錯誤。
我得到 的註釋屬性的值FindBy.name必須是一個常量表達式
是。有可能的。請看以下解決方案:
在你Page
,而不是使用@FindBy
,得到Page
的使用WebElementFacade
find
方法,然後用它來操作。
例如:如果你需要click
一個元素上,請參閱下面的代碼:
public void click(String elementId) {
WebElementFacade element = find(ById.id(elementId));
element.click();
}
這完全適用於我。元素ID從.story
例子一路來。
在你的問題中添加異常堆棧跟蹤。如果您使用final關鍵字聲明變量v,則應該使用 – Grasshopper
。 – Grasshopper
我同意它,如果我們使用final關鍵字。但我想v的值應該是可以改變的。有沒有辦法呢。 –