Java &引用;注释类型参数的属性值未定义;显示跨浏览器测试脚本的错误

Java &引用;注释类型参数的属性值未定义;显示跨浏览器测试脚本的错误,java,selenium,cross-browser,automated-tests,Java,Selenium,Cross Browser,Automated Tests,我正在尝试使用Selenium进行跨浏览器测试 CrossBrowser.java: package automationFramewok; import java.net.MalformedURLException; import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.firefox.FirefoxDriver; import org.openqa.selenium.opera.OperaD

我正在尝试使用Selenium进行跨浏览器测试

CrossBrowser.java

package automationFramewok;

import java.net.MalformedURLException;

import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.firefox.FirefoxDriver;

import org.openqa.selenium.opera.OperaDriver;

import org.openqa.selenium.remote.DesiredCapabilities;

import org.testng.annotations.BeforeTest;
import org.testng.annotations.Test;

import com.beust.jcommander.Parameters;

// I am getting the following error on the next line
//
//   "The attribute value is undefined for the annotation type Parameters"
//
@Parameters({"browser"})

public class CrossBrowser {

    @SuppressWarnings("deprecation")
    @BeforeTest

    public void setUp(String browser) throws MalformedURLException {

    if (browser.equalsIgnoreCase("Firefox")) {
       System.out.println("Running Firefox");
       System.setProperty("webdriver.gecko.driver","E:\\\\Selenium-required files\\geckodriver\\geckodriver.exe");
       FirefoxDriver driver = new FirefoxDriver();
    } else if (browser.equalsIgnoreCase("chrome")) {
       System.out.println("Running Chrome");
    System.setProperty("webdriver.chrome.driver", "E:\\\\\\\\Selenium-required files\\\\chromedriver\\\\chromedriver.exe");
       ChromeDriver driver = new ChromeDriver();
    } else if (browser.equalsIgnoreCase("opera")) {
       System.out.println("Running Opera");
    // driver = new OperaDriver();       --Use this if the location is set properly--
       DesiredCapabilities capabilities = new DesiredCapabilities();
    capabilities.setCapability("opera.binary", "C://Program Files (x86)//Opera//opera.exe");
       capabilities.setCapability("opera.log.level", "CONFIG");
       System.setProperty("webdriver.opera.driver", "E:\\\\\\\\Selenium-required files\\\\operadriver\\\\operadriver.exe");
       OperaDriver driver = new OperaDriver(capabilities);
    }
    }
}
我收到以下错误消息:

注释类型参数的属性值未定义


如何解决此问题?

查看您的导入语句列表。我想你想要

import org.testng.annotations.Parameters;
而不是

import com.beust.jcommander.Parameters;

我面临的问题和进口声明的问题是一样的。我使用了下面的import语句

import org.junit.runners.Parameterized.Parameters;

替换为以下导入声明,问题得到解决

import org.testng.annotations.Parameters;


嗨,欢迎!您可能会发现本文中的代码格式化指南非常有用:。干杯这与另一个答案有什么不同?概念是相同的,但我之前使用的注释不同,导致了相同的问题。