Как конвертировать Katalon Script в Selenium Java?

Как мы знаем, Katalon теперь стал платным инструментом, поэтому мои скрипты Katalon необходимо преобразовать в скрипты Selenium и Java. Скрипты Katalon находятся в Groovy и написаны с использованием встроенных библиотек Katalon, объекты сохраняются в формате .rs (.xml) в репозитории объектов, а определяемые пользователем ключевые слова также находятся в Groovy. Поэтому, пожалуйста, предложите лучший способ (экономящий время) преобразовать скрипты в селен.


person Ajeet Yadawa    schedule 13.11.2019    source источник


Ответы (2)


Я не думаю, что есть простой способ преобразовать все ваши скрипты в Selenium.

Ключевые слова Katalon - это оболочка для различных команд Selenium (или фрагментов кода), поэтому связь Katalon-Selenium один к одному присутствует не всегда. Поэтому одного простого способа перевода одного в другой не существует.

person Mate Mrše    schedule 13.11.2019
comment
Да вы правы один на один, с каталонцем на Selenium нельзя. Но в некоторой степени вы можете создать класс-оболочку и методы с тем же именем, что и у Katalon, тогда вы сможете ускорить преобразование. Итак, сначала выясните, какие методы katalon вы использовали, сделайте utlity (XML Parser для преобразования объекта Katalon в Selenium), используйте Cucumber для BDD или testng для Test Suite Managment и напишите свои собственные методы отправки почты. Другими словами, вам нужно проанализировать Katalon Studio и написать свои собственные методы с тем же именем, которые помогут быстро преобразовать скрипт. - person Ajeet Yadawa; 25.04.2020

Наконец, удалось преобразовать скрипт Katalon в Selenium. Ниже приведены инструкции по созданию собственной Katalon Studio:

Шаг 1. Создайте интерфейс и сохраните глобальную переменную.

public interface RunnerConstants {
readByExcel rd=  new readByExcel("Login.xls","LoginData");
public static final String url= rd.getexcelCellData(2, 0);
public static final  String userName= rd.getexcelCellData(2, 1);
public static final  String password = rd.getexcelCellData(2, 2);
public static final  String subscriberid = rd.getexcelCellData(2, 3);
public static final  String browserName = "Chrome-Headless";

}

Шаг 2. Создайте класс элемента и сохраните WebElement (используйте концепцию фабрики страниц)

public class takeElement {

static WebDriver driver= webD.getInstance();

@FindBy
public static WebElement inputLogin = 
 driver.findElement(By.xpath("//input[@id='loginID']"));
@FindBy
public static WebElement inputSubscriberId  = 
driver.findElement(By.xpath("//input[@id='subscriberID']"));


@FindBy
public static WebElement submitbtn= 
driver.findElement(By.xpath("//input[@id='submitLogin']"));
}

Шаг 3. Создайте одноэлементный класс веб-драйвера Как заставить экземпляр webdriver использовать один и тот же экземпляр во всех файлах классов

Шаг 4. Реализуйте методы Katalon как статические в классе WebUI.

 public  class  WebUI {

 static WebDriver driver = webD.getInstance();
 public static void setDriver(WebDriver driver) {
    WebUI.driver = driver;
 }  
 public static void openBrowser(String url) {
    driver.get(url);
 }
public static void navigateToUrl(String url) {
    driver.navigate().to(url);
}
}

Шаг 5. Напишите свой скрипт, используя аннотации TestNG

 public class test {


 @Test
 public void testA() {
 WebUI.openBrowser(RunnerConstants.url);
  WebUI.setText(takeElement.inputLogin, RunnerConstants.userName);
 WebUI.setText(takeElement.inputPassword, RunnerConstants.password);
 WebUI.setText(takeElement.inputSubscriberId, RunnerConstants.subscriberid);
 WebUI.click(takeElement.submitbtn);
 WebUI.closeBrowser();
  }
}

Используя указанные выше способы, вы можете повторно использовать свой скрипт Katalon. Я надеюсь, что это помогает!!

person Ajeet Yadawa    schedule 19.11.2019
comment
Я взял это за основу и разработал множество утилит и методов с таким же названием, которые помогают мне быстро конвертировать скрипты. - person Ajeet Yadawa; 25.04.2020