I can’t manage infragistic igcombo

even if i use combo.select(index), the visible combo box (input field) doesn’t reflect the selected value. That’s because it’s a specification of igCombo — although the internal state is updated, additional processing is needed to reflect it in the UI or input. Who solved this problem? I need help

Let me know if you want a more formal or technical version!

1 Like

When you hit the F12 key, and then click on ‘Open DevTools’, at the top you will find an icon that allows you to see the HTML of your page.

image

Click on the icon I highlighted and then click on your combo box. Does the combo box have a <select> tag or something else? If it is not a <select> tag, then you will have to get your options in a different way. The ‘selectOptionByIndex’, ‘selectOptionByValue’ or ‘selectOptionByLabel’ will only work on a <select> tag.

If you have an <input> field instead of a <select>, then you will likely have to make two objects for each drop-down. One would be the input, another would be the “drop-down arrow” that likely accompanies it. Then you click on the “drop-down arrow” and then review all the items in the list as I state in my thought bubble below.

Maybe like:
import org.openqa.selenium.WebDriver as WebDriver
import org.openqa.selenium.WebElement as WebElement
import com.kms.katalon.core.webui.driver.DriverFactory as DriverFactory

WebDriver driver = DriverFactory.getWebDriver();

List<WebElement> menuList = driver.findElements(By.xpath('id("ContextMenuHolder")/ul[not(contains(@style,"display: none;"))]/li/a/span[2]'))

WebUI.verifyMatch(menuList.get(0).getText(), "Type", false)
WebUI.verifyMatch(menuList.get(1).getText(), "Name", false)
WebUI.verifyMatch(menuList.get(2).getText(), "Created on", false)

menuList.get(2).click();
WebUI.waitForPageLoad(10)

Another way you can do this is with parameterization. In my example below, I created a Test Object with a pathway that provides a list of items (I created the Test Object, “span_MenuOption Index” in my OR with the pathway as listed and the option’s position within the list I replaced with a variable, “index”).

xpath = id('ContextMenuHolder')/ul[not(contains(@style,"display: none;"))]/li[${index}]/a/span[2]

WebUI.verifyElementText(findTestObject('myPage/span_MenuOption Index', ['index' : 1]), 'Type')
WebUI.verifyElementText(findTestObject('myPage/span_MenuOption Index', ['index' : 2]), 'Name')
WebUI.verifyElementText(findTestObject('myPage/span_MenuOption Index', ['index' : 3]), 'Created on')

WebUI.click(findTestObject('myPage/span_MenuOption Index', ['index' : 3]))

Just a note that you have to be careful with your list of web elements starting from 0, and your Test Object starting from 1.

1 Like

In the katalon documentation " How to handle dropdown menu in Katalon Studio", they wrote:

I suppose that “INFRAGISTICS igCombo” does NOT generate <select><option>...<option></select> HTML tag. Therefore you can not manage “IFRAGISTICS igCombo” using Katalon’s <selectOptionsByXXXX> keywords.

Then how can you manage it? ---- I don’t know. I don’t have a web application in my hand that uses “IFRAGISTICS igCombo”. So I have no chance to study it. I guess that there wouldn’t be many people in this Katalon Community who have “IFRAGISTICS” in their hand. So they would not be able to study it as well.

@y.tobaru

If you want any immediate help, you should give us a sample public URL https://xxxx in which “INFRAGISTICS igCombo” is working so that other guys can easily see it. You would say to others: “Please see this URL, you can see INFRAGISTIC igCombo in action. I want to manage it in Katalon Studio. How to do it?”.

Without a sample URL presented, nobody would be able to help you.

1 Like

I found a reason, combo doesn’t work.
In the specifications of igCombo (Infragistics Ignite UI), simply clicking the

  • element from the DOM does not always update the internal state. This is because igCombo maintains its own internal state (binding), and a simple click is not sufficient to update the value.selenium is impossible
    I use infragistic official APi.
    It works partly but still have problems.
    Anyone who knows Dom control?
    Pls share your note

  • HI,
    i finally found infragistic igCombo solution. Katalon works with Infragistic API and JAVAScript properly. katalon works perfect!!