我使用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