How to handle the slider to make the element visible
More information would be more helpful…
What do you mean by “the slider”?
There are several things that slides in the world, so I do not see what you mean?
Please take a screenshot of “the slider” and show it to us.
Unfortunately, you haven’t shown us enough HTML to get the whole code, however, you can get to click on the tenth item in the list by doing something like below. Since I cannot see what tag is “below” the <li>
tag, you will have to fill in/change that part.
import com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords as WebUI
import com.kms.katalon.core.webui.driver.DriverFactory as DriverFactory
import org.openqa.selenium.By as By
import org.openqa.selenium.WebDriver as WebDriver
import org.openqa.selenium.WebElement as WebElement
WebDriver driver = DriverFactory.getWebDriver()
List<WebElement> items = driver.findElements(By.xpath('//li[@class="el-select-dropdown__item"]/span'))
println('No. of items are: ' + items.size())
WebUI.comment("No. of items are: ${items.size()}")
items.get(10).click();
Because the order is changed, this time it is the tenth, but the next time I can’t determine it. I used js to process when I used selenium, execute_script(“arguments[0].scrollIntoView()”,elem)
Let the element slide to be visible, I want to ask if there is a similar method in studio
I tried the following methods, but failed, do you know the reason
WebUI.executeJavaScript('arguments[0].scrollIntoView()', [findTestObject('Page_IO Controller WAN/Design/Network_Design/Link_Setting/text_LinkSetting_RouteDomain_Choose',
[('route_domain_name') : findTestData('Design/Network_Design/Link_Setting/add_link_data').getValue(2,
index)])])
KS should understand Selenium code.
Instead of clicking on the tenth item, then you will have to cycle through the list and compare your choice:
def choice = findTestData('Design/Network_Design/Link_Setting/add_link_data').getValue(2, index)
for (int icnt = 0; icnt < items.size(); icnt++) {
if (items.get(icnt).getText() == choice)
{
items.get(icnt).click();
}
}
I discovered that there is a corresponding command in web.UI, WebUI.scrollToElement
WebUI.scrollToElement(findTestObject('Page_IO Controller WAN/Design/Network_Design/Link_Setting/text_LinkSetting_RouteDomain_Choose',
[('route_domain_name'): findTestData('Design/Network_Design/Link_Setting/add_link_data').getValue(2, index)]), 2)