在Katalon Studio中执行Junit测试时出现内部错误

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Katalon Studio中执行Junit测试时出现内部错误相关的知识,希望对你有一定的参考价值。

我必须将Gherkin与Katalon Studio集成,因此我使用基本场景在Groovy中创建了一个测试项目,并在Katalon Studio中导入了该项目。当我在Katalon Studio中执行Junit测试时,它会抛出错误:“发生内部错误:”启动TestGroovy“.java.lang.NullPointerException”。我已经添加了必要的库。

注意:测试在Eclipse中成功通过。

在Katalon上运行Junit测试需要多少额外的东西?

TestGroovy.groovy

package groovyKat

import org.junit.runner.RunWith
import cucumber.api.CucumberOptions;
import cucumber.api.junit.Cucumber;

@RunWith(Cucumber.class)
@CucumberOptions(
        features = "Features"
        ,glue= ["groovyKat"]
        )
class TestGroovy {

}

TestGroovyStepDef.groovy

package groovyKat

import java.util.concurrent.TimeUnit

import org.openqa.selenium.By
import org.openqa.selenium.WebDriver
import org.openqa.selenium.firefox.FirefoxDriver

import cucumber.api.java.en.Given
import cucumber.api.java.en.Then
import cucumber.api.java.en.When


class TestGroovyStepDef {
    static WebDriver driver;
    @Given('^A User is on Demoqa\.com$')
     void a_User_is_on_Demoqa_com() throws Throwable {
        System.setProperty('webdriver.gecko.driver','D:/geckodriver/geckodriver.exe');
        driver = new FirefoxDriver();
        driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
        driver.get('http://www.store.demoqa.com');
        }

    @When('^User clicks on MyAccount link$')
     void user_Clicks_on_MyAccount_link() throws Throwable {
        driver.findElement(By.xpath('.//*[@id="account"]/a')).click();
        }

    @When('^User enters username "(.*)" and password "(.*)"$')
     void user_enters_username_and_password(String username,String password) throws Throwable {
        driver.findElement(By.id('log')).sendKeys(username);     
        driver.findElement(By.id('pwd')).sendKeys(password);
        driver.findElement(By.id('login')).click();
        }

    @Then('^Message displayed Login Successfully$')
     void message_displayed_Login_Successfully() throws Throwable {
        System.out.println('Login Successfully');
    }
}

testSample.feature

Feature: Login feature

Scenario: Successful Login with Valid Credentials
          Given A User is on Demoqa.com
          When User clicks on MyAccount link
          And User enters username "xxxxxx" and password "xxxxxxx"
          Then Message displayed Login Successfully
答案

使用当前版本的Katalon(5.4.1),无法运行此脚本,即以JUnit(Cucumber)-Test实现的脚本。

您必须重写Katalon Studio的测试。

https://forum.katalon.com/discussion/1976/how-can-i-import-selenium-scripts-in-katalon

以上是关于在Katalon Studio中执行Junit测试时出现内部错误的主要内容,如果未能解决你的问题,请参考以下文章

脚本模式创建测试用例 - Katalon Studio

Katalon Studio 安装 配置 简单使用

katalon studio配置git与git项目创建

Katalon Studio之web自动化(二)---创建测试用例

katalon系列十一:Katalon Studio在Jenkins持续集成

Katalon Studio请求响应中文乱码解决方法