2015-07-10 57 views
0

我一直在試圖將「sendkeys」改爲IntegerSpinnerField,但它不工作。 IntegerSpinnerField有一個id,但我不能使用它的「sendkeys」。我打開了HTML的ID在那裏,但IntegerSpinnerField是3個部件在1中。所以無論如何,我可以給組成IntegerSpinnerField的3個部件添加一個ID。Sendkeys到Selenium中的GXT integerSpinnerField

HTML代碼

<div __gwtcellbasedwidgetimpldispatchingfocus="true" __gwtcellbasedwidgetimpldispatchingblur="true" id="maximumfrequencySpinnerField" class="GJCAMDBBOPB" title="Enter an maximum frequency value within the allowable range. The allowed range is 776 to 787 MHz" style="width: 100px;"><div style="width: 100px;" class="GJCAMDBBAW"><table width="100%" cellpadding="0" cellspacing="0"><tbody><tr><td><input style="width: 75px;" type="text" value="" class="GJCAMDBBCV GJCAMDBBJV" id="x-auto-229-input" tabindex="0" disabled=""></td><td><div class="GJCAMDBBKV"></div><div class="GJCAMDBBNV"></div></td></tr></tbody></table></div></div> 

這是自動生成的文本框的標識

+0

發佈您的代碼和微調框的HTML。 –

回答

0

不要用ID對ExtJS的應用這些都是在運行時動態生成,容易去改變everytime.So你有爲每個元素編寫一個相對xpath。ExtJS元素遵循一些模式所以你必須爲它寫xpaths,你可以重用它們。

參考any-suggestions-for-testing-extjs-code-in-a-browser-preferably-with-selenium

對於你的情況,併爲大多數輸入元素,你可以使用的標籤label.The直接輸入可能是你正在尋找

我已經測試了名爲微調領域的元素找到它在此demo siteRevenue %:使用以下XPath

//label[text()='Revenue %:']//following::input 

對於上述site.Hope腳本它有助於

WebDriver driver = new FirefoxDriver(); 
    driver.get("https://www.sencha.com/examples/#ExamplePlace:dashboard"); 
    WebElement element=driver.findElement(By.xpath("//label[text()='Revenue %:']//following::input")); 
    element.clear(); 
    element.sendKeys("67.67"); 
相關問題