一:selenium+java敢课,報(bào)錯(cuò):java.lang.NullPointerException,ElmentNotFoundException
java.lang.NullPointerException:一般報(bào)空指針錯(cuò)誤绷杜,說明元素沒找到直秆,可能是定位不正確
ElmentNotFoundException:原因是程序執(zhí)行太快,元素還沒出現(xiàn)鞭盟,需要等待元素出現(xiàn)圾结,這時(shí)候可以試一下Thread.sleep()方法,如果成功齿诉,再用智能的wait方法來解決問題筝野。
二、因?yàn)閕frame定位不到元素粤剧,也找不到iframe name歇竟,則用firebug,找到對應(yīng)iframe抵恋,右鍵復(fù)制xpath焕议,實(shí)現(xiàn)方法有兩種:
1、WebElementiframe=driver.findElement(By.xpath("/html/body/div[5]/div/div[3]/iframe[2]"));
driver.switchTo().frame(iframe);
2馋记、或直接從firebug中找到該iframe的name号坡,用以下方法實(shí)現(xiàn):
driver.switchTo().frame("iframe10"); //iframe10是此iframe的name
三:selenium報(bào)錯(cuò):Error near line 0: End of document expected.
原因是:yaml文件格式不正確懊烤,檢查一下冒號等是否正確,是否為英文宽堆。
四:testng的默認(rèn)執(zhí)行順序是按照方法首字母順序
五:checkbox或radiobox有時(shí)會定位不成功腌紧,原因是如下圖左邊按鈕和右邊文字“特定用戶”的xpath分別為:.//*[@id='target_user']/div[1]/label/div/ins和.//*[@id='target_user']/div[1]/label,若用左邊的按鈕定位并點(diǎn)擊畜隶,則找不到元素壁肋,用右邊的文字并點(diǎn)擊就能成功;