主題可能訂得不好,但我想不到更好的主題名。
我上個月初到今天都在做網頁 APP 的測試,我抱持著不想狂寫代碼的心態,所以挑戰整體系統化。做法則是參考博客,一開始是用抄的,所以一知半解得很嚴重。不廢話,進主題。
運用測試框架:selenium
使用代碼:Java
測試對象圖片:
每一張圖片都是一本書。
PageObject 的其中一個類
@FindBy(how = How.XPATH, using = "//*[@id=\"bookId-xxxxx\"]"
private WebElement xxxxxBook;
public void openBook() {
xxxxxBook.click()
}
用例
public void test001() {
Bookshelf bs = PageFactory.initElements(driver, Bookshelf.class);
bs.openBook();
}
代碼的部分,我只能寫到這裡。
我只知道這樣的基本用法,而我有好幾次寫錯上面的定位位置,但是在寫工廠生成的時候,他並不會報錯,直到我開始去使用那個物件的時候,他才回報錯誤,然後我的疑問也是這樣產生。第一次接觸的時候,我一直以為在工廠生成的時候,他就會去找那個物件,然後等待我呼叫。至於錯誤則是 selenium 在背後默默解決,沒引發程序崩潰的話,不會拋出錯誤。但事實上我去看過這部分源碼,看不太懂是第一點,第二點是我並沒有找到明確拋出錯誤的地方。
我想問的是到底物件定位是甚麼時候開始,工廠生成的時候?物件被使用的時候?
如果有人能告訴我答案,或者提示我能去看甚麼,或者該怎麼看,我會非常感謝。