Я тестирую задачу, которая должна имитировать звук сканирующего пистолета.всплывающее окно имеет сценарий Java, который слушает звук.Нет текстового поля для ввода данных во всплывающем окне.у меня проблема, когда я сканирую первый штрих-код, на экране ничего не появляется.Данные заполняются после того, как я сканирую второй штрих-код, но значение заполняется с первого сканирования.Если я продолжаю выполнять код, когда он достигает сканирования другого штрих-кода, он отправляет значение с первого сканирования.
Я пробовал много способов, я помещал .Perform () в разные места (в конце каждого оператора или после каждого полного сканирования, но не повезло. Я думаю, что-то связано с .Perform ()метод. Но я не знаю, что еще я должен попробовать. Буду признателен за вашу помощь.
IWebElement title = driver.FindElement(By.XPath("//span[@id='titleSpan']"));
builder.DoubleClick(title).Perform();//this to make the popup view become an active browser
builder.SendKeys(Keys.Control + Keys.Shift + Keys.Alt + Keys.F2);
builder.SendKeys("92_CR_13~A~5~R");
builder.SendKeys(Keys.Control + Keys.Shift + Keys.Alt + Keys.F4);
builder.Perform();//data not populate
builder.SendKeys(Keys.Control + Keys.Shift + Keys.Alt + Keys.F2).Perform();
builder.SendKeys("92_CR_13~E~5~L").Perform();//data populate but the value is 92_CR_13~A~5~R instead of 92_CR_13~E~5~L
builder.SendKeys(Keys.Control + Keys.Shift + Keys.Alt + Keys.F4).Perform();
builder.SendKeys(Keys.Control + Keys.Shift + Keys.Alt + Keys.F2).Perform();
builder.SendKeys("10M-ST111A003").Perform();//data is populate but the value is still for the first value scanned, 92_CR_13~A~5~R. so the system error out since the value already scanned
if (creelMap.isAlertPresent())
{
creelMap.closeAlert();
}
builder.SendKeys(Keys.Control + Keys.Shift + Keys.Alt + Keys.F4);