当前位置: 首页 > 知识库问答 >
问题:

Katalon Studio中的Java脚本

柴坚诚
2023-03-14

我编写了几个java测试,并用它们与Eclipse一起运行。

我想把它们导入katalon并运行它们。

例如,我在这里有一个登录脚本:

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();
    }
}

我想像在卡塔隆一样运行它,但我不确定如何运行。

谢谢

共有1个答案

干浩阔
2023-03-14

我尝试在不声明类和main方法的情况下添加现有的java脚本,它可以正常工作。在您的示例中,请删除:导入组织。openqa。硒。*,替换为:导入组织。openqa。硒。然后粘贴保留的脚本,不带

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();
 类似资料:
  • 问题内容: 有谁知道(或处理)在构建时如何从Java类文件中删除注释?当我使用Ant构建项目时,我想对项目中的特定软件包执行此操作。最欢迎使用任何ANT脚本或一些自定义代码。 问题答案: 编译文件中没有注释。

  • 问题内容: 有谁知道(或处理)在构建时如何从Java类文件中删除注释?当我使用Ant构建项目时,我想对项目中的特定软件包执行此操作。最欢迎使用任何ANT脚本或一些自定义代码。 问题答案: 编译文件中没有注释。

  • 问题内容: 在下面的代码中,我使javascript在与主要线程不同的线程中运行。该脚本是一个无限循环,因此需要以某种方式终止。怎么样? 脚本开始运行后,调用.cancel()无效。但是,如果我在线程初始化之后立即调用.cancel(),它将终止它(注释行)。 问题答案: 与Java一样,JavaScript(在Nashorn下)也不会像Java那样在紧密循环中响应中断。该脚本需要轮询中断并自动终

  • Photoshop 通过脚本支持外部自动化。在 Windows 中,可以使用支持 COM 自动化的脚本语言,例如 VB Script。在 Mac OS 中,可以使用允许发送 Apple 事件的语言,例如 AppleScript。这些语言不是跨平台的,但可以控制多个应用程序,例如 Adobe Photoshop、Adobe Illustrator 和 Microsoft Office。在 Mac O

  • 问题内容: 从JDK-11开始,我们可以直接运行Java源代码。此代码 可以与 但是以shell脚本形式(shebang) 我收到一个错误: 问题是第一行中的参数。由于某种原因,论点通过了,但没有通过。 问题答案: 这在OpenJDK <=中 通常不起作用。目前尚不清楚这是否是错误,是否已修复。有一个开放的错误报告: https://bugs.openjdk.java.net/browse/JDK

  • 问题内容: 我想从下面的程序中运行一个shell脚本,但它似乎无能为力。我已经直接在linux终端中运行了相同的命令,它运行正常,所以我猜这是我的Java代码。如您所见,我首先使用PrintWriter将命令写入Shell脚本,但我希望这不会影响Shell脚本本身的运行。任何帮助,将不胜感激! 问题答案: 您应该使用返回的结果。 将命令作为单独的进程执行,并返回类型为的对象。您应该调用以便程序等待