Javascript 使用Selenium、jQuery和RFT自动化数据更改触发问题

Javascript 使用Selenium、jQuery和RFT自动化数据更改触发问题,javascript,rft,ibm-rational,pega,webui,Javascript,Rft,Ibm Rational,Pega,Webui,嘿,我正在使用RFT,以便在Pega网站页面上自动生成一个页面。然而,自动化似乎无法触发我正在插入文本字符串的输入的更改事件。这个输入框似乎位于一个iframe的内部,这也许就是它在失去对该输入框的关注时不触发onchange事件的原因 RFT在其程序中确实使用了Selenium,以与网页进行交互 输入框的html: <input data-id="204083727717650" data-ctl="["TextInput"]" id="BBOX"

嘿,我正在使用RFT,以便在Pega网站页面上自动生成一个页面。然而,自动化似乎无法触发我正在插入文本字符串的输入的更改事件。这个输入框似乎位于一个iframe的内部,这也许就是它在失去对该输入框的关注时不触发onchange事件的原因

RFT在其程序中确实使用了Selenium,以与网页进行交互

输入框的html:

<input 
    data-id="204083727717650" 
    data-ctl="["TextInput"]" 
    id="BBOX" 
    maxlength="15" 
    validationtype="required" 
    value="" 
    name="$PpyWorkPage$pBBOX$pBBOX" 
    class="leftJustifyStyle" 
    data-change="[["refresh", 
                   ["otherSection",
                    "RecordInformation", 
                    "", 
                    "&amp;=", 
                    "", 
                    "BBOXOnChange,",
                    ":event",
                    "",
                    "pyWorkPage.BBOX"
                   ]
                 ]]" 
    type="text">
我正在尽我最大的努力在上面的30个左右的.js文件中找到这个函数

因此,有人比我更了解JS中这种类型的编码,请设置并让我知道我应该在.JS源代码中查找什么,以便我可以在代码中手动触发此更改事件

似乎当我单击文本框,输入几个字母,然后单击同一表单上的选项卡或另一个输入框时,就会触发某种类型的事件/函数,填充页面上的标签


我一直在.js源代码中寻找的是一个名为refresh(…)的函数,或者类似于refresh:function(…)…\u refresh:function(…)…但是我还没有找到任何类似于它发送到该函数的参数的东西。

有人对此有任何意见吗?
driver.switchTo().frame(driver.findElement(By.name("PegaGadget")));     

WebDriverWait wait = new WebDriverWait(driver, 10);
wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("BBOX")));
final WebElement BBOXInputBox = driver.findElement(By.id("BBOX"));

BBOXInputBox.click();
BBOXInputBox.click();
Thread.sleep(2000);
BBOXInputBox.sendKeys("204083727717650");
Thread.sleep(2000);
BBOXInputBox.sendKeys(Keys.TAB);
Thread.sleep(2000);
BBOXInputBox.sendKeys(Keys.BACK_SPACE);
Thread.sleep(2000);
BBOXInputBox.sendKeys("1");
Thread.sleep(200);
BBOXInputBox.sendKeys(Keys.TAB);
Thread.sleep(2000);

Actions builder = new Actions(driver);
builder.moveToElement(driver.findElement(By.id("FirstName_U")), 5, 5).click().build().perform();

driver.findElement(By.id("FirstName_U")).sendKeys("something");