Я хочу создать jar-файл стороннего производителя для функции "настроить ожидание", который в дальнейшем будет использоваться в тестовых случаях студии Katalon для синхронизации тестового примера путем вызова "waitTillObjectPresent ()".
Пример моей вызывающей функции из Katalon Studio будет выглядеть следующим образом:
Здесь я пытаюсь вызвать функцию Java "waitTillObjectPresent ()" из Katalon Studio.
WebUI.navigateToUrl('https://www.companysite.com/en')
//Wait for element till present upto 10 sec.
WaitForObject.waitTillObjectPresent'(findTestObject('V3-Web/WaitForObject/Page_Livtten/button_Results'), 10)
WebUI.click(findTestObject('V3-Web/WaitForObjectDemo/Pagetten/button_Results'))
Примечание:В приведенном выше коде «WaitForObject» - это мой класс Java, а «waitTillObjectPresent» - это свободный метод ожидания в том же классе.
Пробовал с помощью следующего кода Java:
public void waitTillObjectPresent(TestObject to, int waitingtime){
// HERE IS ISSUE, I am not getting TestObject from Katalon Studio calling method
int counter=0;
String locator= object.findPropertyValue('xpath');
System.out.println("xpath is:: " + locator);
WebDriver driver = DriverFactory.getWebDriver();
// HERE IS ISSUE, I am not able to getting WebDriver instance from Katalon Studio
// fluent wait method
Wait wait = new FluentWait(driver )
.withTimeout(waitingtime, TimeUnit.SECONDS)
.pollingEvery(1000, TimeUnit.MILLISECONDS)
.ignoring(WebElementNotFoundException.class)
WebElement ele = (WebElement) wait.until(new Function<WebDriver, WebElement>() {
public WebElement apply(WebDriver driver) {
counter ++
return driver.findElement(By.xpath(locator));
}
});
System.out.println("Waiting time for Object ::: "+ object+" ::: rendering is :::: " +counter*700 +" ::: miliseconds ie in seconds ::: " +(counter*700)/1000);
}
}
В приведенном выше коде яполучение ошибок в 2 точках:
1-й выпуск: я не получаю TestObject в java-программе от студии Katalon.
2-й выпуск: я не могу получить экземпляр веб-драйвера с кодом WebDriver driver = DriverFactory.getWebDriver();
Пожалуйста, помогите мне, я новичок в студии Katalon.