Написание Java-скриптов в Katalon-Studio

У меня есть несколько тестов Java, которые я написал и использовал для их запуска с Eclipse.

Я хочу импортировать их в каталон и запустить их.

Например, у меня здесь есть сценарий входа в систему:

import java.io.IOException;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.*;

public class Login {
     public static void main(String args[]) throws IOException {
        IOException ioe = new IOException();
        //Initializing server
        System.setProperty("webdriver.chrome.driver", "C:/selenium/chromedriver.exe");
        ChromeDriver wd = new ChromeDriver();
        wd.manage().window().maximize();
        wd.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);

        //login
        System.out.println("*** login ***");
        wd.get("<URL>");
        wd.findElement(By.xpath("//form[@id='form']/div[1]/paper-input/paper-input-container/div[2]/div/input")).click();
        wd.findElement(By.xpath("//form[@id='form']/div[1]/paper-input/paper-input-container/div[2]/div/input")).clear();
        wd.findElement(By.xpath("//form[@id='form']/div[1]/paper-input/paper-input-container/div[2]/div/input")).sendKeys("<USERNAME>");
        wd.findElement(By.xpath("//form[@id='form']/div[2]/paper-input/paper-input-container/div[2]/div/input")).click();
        wd.findElement(By.xpath("//form[@id='form']/div[2]/paper-input/paper-input-container/div[2]/div/input")).clear();
        wd.findElement(By.xpath("//form[@id='form']/div[2]/paper-input/paper-input-container/div[2]/div/input")).sendKeys("<PASSWORD>");
        wd.findElement(By.xpath("//form[@id='form']//paper-button[.='login']")).click();
        try { Thread.sleep(3000l); } catch (Exception e) { throw new RuntimeException(e); }
        if(wd.findElement(By.tagName("html")).getText().contains("please login")){
            System.out.println("Login failed");
            throw ioe;
        }//End of login

        System.out.println("Login was executed successfully!");
        System.out.println("Testcase finished successfully!");
        wd.quit();
    }
}

Я хочу запустить его как в каталоне, но не знаю, как это сделать.

Спасибо.


person רועי וינרב roi weinreb    schedule 08.12.2017    source источник
comment
Вы не знаете, как запустить основной метод или добавить Selenium в путь к классам, чтобы он мог работать?   -  person OneCricketeer    schedule 09.12.2017
comment
Я уже добавил необходимые jar-файлы, чтобы он распознавал классы и методы ... Я просто не знаю, как запустить его с помощью katalon. Куда мне нужно вставить мой скрипт? .. Какие изменения в моем скрипте мне нужно сделать, чтобы он заработал?   -  person רועי וינרב roi weinreb    schedule 10.12.2017
comment
В документации написано, что есть кнопка «Выполнить». docs.katalon.com/plugins/servlet/ и рассказывает о представлении скрипта docs.katalon. com / plugins / servlet /   -  person OneCricketeer    schedule 10.12.2017
comment
Да, я пробовал использовать режим сценария, но он не работает ... Мой сценарий включает команды, которые вызывают драйвер Chrome и которые не нужны в сценариях katalon groovey, поэтому я не знаю, какие изменения мне следует внести, чтобы он работал   -  person רועי וינרב roi weinreb    schedule 11.12.2017


Ответы (1)


Я пытаюсь добавить существующий java-скрипт без объявления класса и основного метода, и он работает. В вашем примере удалите: import org.openqa.selenium. *;, замените его на: import org.openqa.selenium.By, затем вставьте оставшийся скрипт без

public class Login {
     public static void main(String args[]) throws IOException {
}}

Итак, ваш собственный тестовый пример в Katalon будет:

import java.io.IOException;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.By;

        IOException ioe = new IOException();
        //Initializing server
        System.setProperty("webdriver.chrome.driver", "C:/selenium/chromedriver.exe");
        ChromeDriver wd = new ChromeDriver();
        wd.manage().window().maximize();
        wd.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);

        //login
        System.out.println("*** login ***");
        wd.get("<URL>");
        wd.findElement(By.xpath("//form[@id='form']/div[1]/paper-input/paper-input-container/div[2]/div/input")).click();
        wd.findElement(By.xpath("//form[@id='form']/div[1]/paper-input/paper-input-container/div[2]/div/input")).clear();
        wd.findElement(By.xpath("//form[@id='form']/div[1]/paper-input/paper-input-container/div[2]/div/input")).sendKeys("<USERNAME>");
        wd.findElement(By.xpath("//form[@id='form']/div[2]/paper-input/paper-input-container/div[2]/div/input")).click();
        wd.findElement(By.xpath("//form[@id='form']/div[2]/paper-input/paper-input-container/div[2]/div/input")).clear();
        wd.findElement(By.xpath("//form[@id='form']/div[2]/paper-input/paper-input-container/div[2]/div/input")).sendKeys("<PASSWORD>");
        wd.findElement(By.xpath("//form[@id='form']//paper-button[.='login']")).click();
        try { Thread.sleep(3000l); } catch (Exception e) { throw new RuntimeException(e); }
        if(wd.findElement(By.tagName("html")).getText().contains("please login")){
            System.out.println("Login failed");
            throw ioe;
        }//End of login

        System.out.println("Login was executed successfully!");
        System.out.println("Testcase finished successfully!");
        wd.quit();

person Jenny    schedule 21.12.2017