如何在Selenium Java中转换Katalon脚本?

问题描述 投票:0回答:3

[我们知道Katalon现在已经成为一种付费工具,因此我的Katalon脚本需要转换为Selenium Java脚本。Katalon脚本位于Groovy中,并且使用Katalon内置库编写,对象保存在Object信息库中的.rs(.xml)fie中,用户定义的关键字也位于Groovy中。因此,请提出将脚本转换为硒的最佳方法(节省时间)。

java selenium ui-automation katalon-studio
3个回答
2
投票

我认为没有一种简单的方法可以将所有脚本转换为Selenium。

Katalon关键字是各种Selenium命令(或代码段)的包装,因此,并非总是存在一对一 Katalon-Selenium关系。因此,不存在一种简单的将彼此翻译的方法。


1
投票

最后,能够将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(使用页面Factory概念)

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步:创建Web驱动程序单例类How to get webdriver instance to use same instance across all class files

步骤4:在WebUI类中将Katalon方法实现为静态。

 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脚本。希望对您有所帮助!


0
投票

如果决定不再为我正在使用的项目再使用katalon,我将很好地利用它。我正在考虑甚至不转移到硒,而转移到操纵up,但就像您解释的那样,您可以使用配置文件

© www.soinside.com 2019 - 2024. All rights reserved.