我使用Selenium WebDriver和PhantomJS作爲我的瀏覽器和Windows7操作系統。爲什麼PhantomJS僅在輸入字段時輸入最後一個字母?
我的代碼如下所示。
public void TC_PMS_015() throws Exception{
driver.switchTo().defaultContent();
driver.switchTo().frame(0);
homePg.clickFrontOffice();
driver.switchTo().defaultContent();
driver.switchTo().frame("main");
FOManageReservationPg = homePg.clickFOManageReservation();
driver.switchTo().defaultContent();
driver.switchTo().frame("main");
driver.switchTo().frame("frmTabmenu_spnTabMenus_0");
Sleep(6);
FOManageReservationPg.clickClearButton();
Sleep(3);
FOManageReservationPg.selectHotel(prop.getProperty("hotel"));
Sleep(3);
FOManageReservationPg.enterVoucherNumberToSearch(prop.getProperty("vouchernumber"));
Sleep(3);
FOManageReservationPg.clickSearchButton();
Sleep(6);
homePg = FOManageReservationPg.clickCloseButton();
}
這是輸入憑證號碼的方法。
public void enterVoucherNumberToSearch(String VoucherNo) {
txtVoucherNo = driver.findElement(By.xpath("//input[@id='txtVoucherNo']"));
uiSendKeys(txtVoucherNo, VoucherNo);
}
這是uiSendKeys方法。
public void uiSendKeys(WebElement uiElement,String value) {
uiElement.clear();
uiElement.sendKeys(value);
}
當我執行這個測試用例時,「enterVoucherNumberToSearch」方法只接受憑證的最後一個字母。
例如:我通過「RH0000337」作爲我的優惠券編號,但它代之以「7」。
我將等待添加到enterVoucherNumberToSearch方法,但它沒有解決我的問題。我打印xpath並獲得以下輸出。從xpath中設置憑證nuber ----- [[PhantomJSDriver:phantomjs on XP(d3630600-e681-11e5-80bf-41e6ba53f1fa)] - > xpath:// input [@ id ='txtVoucherNo']] –
@ OreliyaFernando我剛剛注意到了一些事情。 – MikeJRamsey56
@OreliyaFernando你隱含的等待是什麼?也許它需要設置得更高。 driver.manage()。timeouts()。implicitlyWait(60,TimeUnit.SECONDS); – MikeJRamsey56