cucumber.runtime.CucumberException:java.util.regex.PatternSyntaxException:索引39附近的非法重复

cucumber.runtime.CucumberException:java.util.regex.PatternSyntaxException:索引39附近的非法重复,regex,maven,cucumber,gherkin,cucumber-java,Regex,Maven,Cucumber,Gherkin,Cucumber Java,从Java类运行测试后面临一些重复错误 我试图更改/更新我的步骤和运行程序文件,但不幸的是,这无助于解决我的问题。我是cucumber和maven的新手,所以如果我提供的信息较少,请让我知道 功能文件1: 功能:登录帐户 现有用户应该能够使用正确的凭据登录帐户 场景:使用正确的凭据登录帐户 给定用户导航到stackoverflow网站 用户点击主页上的登录按钮 用户输入一个有效的用户名 用户输入一个有效的密码 当用户单击登录按钮时 然后用户应该被带到成功登录页面 功能文件2 功能:登录帐户 现

从Java类运行测试后面临一些重复错误

我试图更改/更新我的步骤和运行程序文件,但不幸的是,这无助于解决我的问题。我是cucumber和maven的新手,所以如果我提供的信息较少,请让我知道

功能文件1:

功能:登录帐户
现有用户应该能够使用正确的凭据登录帐户
场景:使用正确的凭据登录帐户
给定用户导航到stackoverflow网站
用户点击主页上的登录按钮
用户输入一个有效的用户名
用户输入一个有效的密码
当用户单击登录按钮时
然后用户应该被带到成功登录页面
功能文件2

功能:登录帐户
现有用户应该能够使用正确的凭据登录帐户
场景:使用正确的凭据登录帐户
给定用户导航到stackoverflow网站2
用户点击homepage2上的登录按钮
用户输入一个有效的用户名2
用户输入一个有效的密码2
当用户单击登录按钮2时
然后用户应进入成功登录页面2
步骤:

package CucumberFramework.steps;
导入cucumber.api.java.en.Given;
导入cucumber.api.java.en.When;
导入cumber.api.java.en.Then;
公共类登录步骤{
@给定(“^User导航到stackoverflow网站$”)
公共无效用户\u导航到\u stackoverflow\u网站(){
System.out.println(“用户导航到网站”);
}
@给定(^用户单击主页$上的登录按钮)
公共无效用户单击主页()上的登录按钮{
System.out.println(“用户点击主页上的登录按钮”);
}
@给定(“^User输入有效用户名$”)
公共无效用户\u输入\u有效\u用户名(){
System.out.println(“用户输入有效用户名”);
}
@给定(“^User输入有效密码$”)
公共无效用户输入有效密码(){
System.out.println(“用户输入有效密码”);
}
@“^User单击登录按钮$”时
公共无效用户单击登录按钮(){
System.out.println(“用户点击登录按钮”);
}
@然后(“^User应该被带到成功登录页面$”)
公共无效用户应被带到成功登录页面(){
System.out.println(“应该将用户带到成功登录页面”);
}
@给定(“^User导航到stackoverflow网站{int}$”)
公共无效用户\u导航\u至\u stackoverflow\u网站(整数int1){
System.out.println(“用户导航到网站2”);
}
@给定(^用户单击主页{int}$上的登录按钮)
公共无效用户单击主页上的登录按钮(整数int1){
System.out.println(“用户点击主页2上的登录按钮”);
}
@给定(“^User输入有效的用户名{int}$”)
公共无效用户输入有效用户名(整数int1){
System.out.println(“用户输入有效的用户名2”);
}
@给定(“^User输入有效密码{int}$”)
公共无效用户输入有效密码(整数int1){
System.out.println(“用户输入有效密码2”);
}
@当(^User单击登录按钮{int}$)时
公共无效用户单击登录按钮(整数int1){
System.out.println(“用户点击登录按钮2”);
}
@然后(“^User应该被带到成功登录页面{int}$”)
公共无效用户应被带到成功登录页面(整数int1){
System.out.println(“应该将用户带到成功登录页面2”);
}
}
运行程序文件:

package CucumberFramework.runner;
导入org.junit.runner.RunWith;
进口cucumber.api.junit.cucumber;
进口cucumber.api.CucumberOptions;
@RunWith(cumber.class)
@黄瓜选项(
features={“src/test/java/CucumberFramework/features/”,
glue={“CucumberFramework.steps”},
单色=真,
标记={},
plugin={“pretty”、“html:target/cumber”、“json:target/cumber.json”、“com.cumber.listener.ExtentCucumberFormatter:target/report.html”}
)
公营班主任{
}
POM文件:


4.0.0
com.webdriveruniversity
黄瓜架
0.0.21-快照
罐子
黄瓜架
http://maven.apache.org
UTF-8
11
11
org.apache.maven.plugins
maven编译器插件
11
11
${env.JAVA\u HOME}\bin\javac.exe
org.apache.maven.plugins
maven surefire插件
2.19.1
testng.xml
假的
假的
org.apache.maven.plugins
maven surefire报告插件
2.19.1
org.seleniumhq.selenium
硒爪哇
3.6.0
朱尼特
朱尼特
4.12
信息杯
黄瓜
1.2.5
聚甲醛
信息杯
黄瓜刺柏
1.2.5
测试
信息杯
黄瓜核
1.2.5
信息杯
cucumber.runtime.CucumberException: java.util.regex.PatternSyntaxException: Illegal repetition near index 39
^User navigates to stackoverflow website{int}$
                                       ^
    at cucumber.runtime.java.JavaBackend.addStepDefinition(JavaBackend.java:156)
    at cucumber.runtime.java.MethodScanner.scan(MethodScanner.java:68)
    at cucumber.runtime.java.MethodScanner.scan(MethodScanner.java:41)
    at cucumber.runtime.java.JavaBackend.loadGlue(JavaBackend.java:86)
    at cucumber.runtime.Runtime.<init>(Runtime.java:92)
    at cucumber.runtime.Runtime.<init>(Runtime.java:70)
    at cucumber.runtime.Runtime.<init>(Runtime.java:66)
    at cucumber.api.junit.Cucumber.createRuntime(Cucumber.java:80)
    at cucumber.api.junit.Cucumber.<init>(Cucumber.java:59)
    at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
    at org.junit.internal.builders.AnnotatedBuilder.buildRunner(AnnotatedBuilder.java:104)
    at org.junit.internal.builders.AnnotatedBuilder.runnerForClass(AnnotatedBuilder.java:86)
    at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)
    at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:26)
    at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)
    at org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:33)
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createUnfilteredTest(JUnit4TestLoader.java:90)
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createTest(JUnit4TestLoader.java:76)
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.loadTests(JUnit4TestLoader.java:49)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:525)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:763)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:463)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:209)
Caused by: java.util.regex.PatternSyntaxException: Illegal repetition near index 39
^User navigates to stackoverflow website{int}$
                                       ^
    at java.base/java.util.regex.Pattern.error(Pattern.java:2015)
    at java.base/java.util.regex.Pattern.closure(Pattern.java:3308)
    at java.base/java.util.regex.Pattern.sequence(Pattern.java:2201)
    at java.base/java.util.regex.Pattern.expr(Pattern.java:2056)
    at java.base/java.util.regex.Pattern.compile(Pattern.java:1778)
    at java.base/java.util.regex.Pattern.<init>(Pattern.java:1427)
    at java.base/java.util.regex.Pattern.compile(Pattern.java:1068)
    at cucumber.runtime.java.JavaBackend.pattern(JavaBackend.java:203)
    at cucumber.runtime.java.JavaBackend.addStepDefinition(JavaBackend.java:151)
    ... 25 more

@Given("^User enters a valid username{int}$")
public void user_enters_a_valid_username(Integer int1) {
    System.out.println("user_enters_a_valid_username2");
}
@Given("^User enters a valid username(\\d+)$")
public void user_enters_a_valid_username(Integer int1) {
    System.out.println("user_enters_a_valid_username2");
}
@Given("^User navigates to stackoverflow second website$")
public void userNavigatesToStackoverflowSecondWebsite() {
}
@Given("^User navigates to stackoverflow website(\\d+)$")
public void userNavigatesToStackoverflowWebsite(int arg0) {
}
 @Given("^User navigates to stackoverflow website$")
public void user_navigates_to_stackoverflow_website() {
    System.out.println("user_navigates_to_stackoverflow_website");
}
@Given("^User navigates to stackoverflow website{int}$")
public void user_navigates_to_stackoverflow_website(Integer int1) {
    System.out.println("user_navigates_to_stackoverflow_website2");
}
@Given("^User navigates to stackoverflow \"([^\"]*)\"$")
public void userNavigatesToStackoverflow(String arg0) {
    // Write code here that turns the phrase above into concrete actions
}
Given User navigates to stackoverflow "website"
Feature: Login into account
Existing user should be able to login account using correct credentials

Scenario Outline: Login into account with correct credentials
Given User navigates to stackoverflow "<website>"
  And User clicks on the login button on "<homepage>"
  And User enters a valid "<username>"
  And User enters a valid "<password>"
When User clicks on the login "<button>"
Then User should be taken to the succesful login "<page>"

Examples:
  | website  | homepage  | username  | password  | button  | page  |
  | website1 | homepage1 | username1 | password1 | button1 | page1 |
  | website2 | homepage2 | username2 | password2 | button2 | page2 |