Каратэ Взаимодействие прекрасно работает с моими простыми примерами в скрипте, однако сталкивается с проблемой этого метода c. Я что-то здесь упускаю? Благодарим вас за помощь.
Шаги из примера сценария ios
* configure driver = { type: 'chromedriver', executable: '/Users/vxt82/Apps/chromedriver', showDriverLog: true , readTimeout: 120000, httpConfig: { readTimeout: 120000 }}
* driver 'http://XXXXXX.XXXX'
* def searchLocators = read('classpath:folder-name/locators/search-page.json').SearchPage.search
* table searchData
| txtNumber| txtSsn | btnSearch | dataExpectedValues |
| 'L02'| 'XXXXXX' | "-" | ["999XYZ","L02","LAST_PQ02","FIRST_PQ02","3211","P","","","","","","01/01/2020","01/31/2020","","Update","Passed","View"]|
| 'L02'| 'XXXXXX' | "-" | ["999XYZ","L02","LAST_PQ02","FIRST_PQ02","3211","P","","","","","","01/01/2020","01/31/2020","","Update","Passed","View"]|
* utils.ui.printClass(driver)
* utils.ui.printClass(searchLocators)
* utils.ui.printClass(searchData[0])
* utils.ui.performAutomatedFormFilling(driver,searchLocators, searchData[0])
Java Методы:
public static void performAutomatedFormFilling(WebDriver driver, LinkedHashMap<Object,Object> locators, LinkedHashMap<Object,Object> dataToSearch){
.....
}
public static void printClass(Object o){
System.out.println("Class Name: "+ o.getClass());
}
Вывод на консоль:
Class Name: class com.intuit.karate.driver.chrome.ChromeWebDriver
Class Name: class java.util.LinkedHashMap
Class Name: class java.util.LinkedHashMap
sample.feature:68 - no step-definition method match found for: utils.ui.performAutomatedFormFilling(driver,searchLocators, searchData[0])
ОБНОВЛЕНИЕ: Просто примечание. Я попробовал другой способ, изменив сигнатуру метода, чтобы она соответствовала вызову, как показано ниже, однако не повезло.
public static void performAutomatedFormFilling(Object driver, Object locators, Object dataToSearch){
.....
}