[我们知道Katalon现在已经成为一种付费工具,因此我的Katalon脚本需要转换为Selenium Java脚本。Katalon脚本位于Groovy中,并且使用Katalon内置库编写,对象保存在Object信息库中的.rs(.xml)fie中,用户定义的关键字也位于Groovy中。因此,请提出将脚本转换为硒的最佳方法(节省时间)。
我认为没有一种简单的方法可以将所有脚本转换为Selenium。
Katalon关键字是各种Selenium命令(或代码段)的包装,因此,并非总是存在一对一 Katalon-Selenium关系。因此,不存在一种简单的将彼此翻译的方法。
最后,能够将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脚本。希望对您有所帮助!
如果决定不再为我正在使用的项目再使用katalon,我将很好地利用它。我正在考虑甚至不转移到硒,而转移到操纵up,但就像您解释的那样,您可以使用配置文件