当使用注释@Parameters时,我收到2条错误消息“此位置不允许注释@Parameter”。不知道为什么?

时间:2012-03-05 15:22:03

标签: java testng

我一直在关注一些博客&要使这个工作的testng站点,使用参数背后的想法是从testng.xml文件传递浏览器值。但是当我在运行脚本之前将@Parameters annotaion错误出现在eclipse中时。当我尝试验证代码时出现错误 -

错误消息

此行有多个标记      - 注释类型的属性值未定义      参数      - 参数无法解析为类型      - 此位置不允许使用注释@Parameter

想想这里的事情可能是一个错误的导入或一些语法错误。我已经完成了导入

import com.beust.jcommander.Parameter;
import com.beust.jcommander.Parameters;

但是不起作用。试图将@Parameters注释放在@Test下面,但即便如此也不行。

这是我的代码 -

import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
import java.net.MalformedURLException;
import java.net.URL;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebDriverBackedSelenium;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.remote.RemoteWebDriver;
import org.testng.annotations.Test;
import org.testng.annotations.Parameters;
import org.testng.annotations.*;
import com.thoughtworks.selenium.DefaultSelenium;
import com.thoughtworks.selenium.Selenium;

public class first_class {
    private Selenium selenium;
    public String url = "http://google.com/";   

    @Parameter ({ "browser" })
    @Test   
    public void Test(String browser) throws MalformedURLException {
        DesiredCapabilities capability = new DesiredCapabilities();
        capability.setBrowserName(browser);

        WebDriver driver = null;
        try {
            driver = new RemoteWebDriver(new URL("http://localhost:".concat(
                    "4444").concat("/wd/hub")), capability);
            System.out.println();

        } catch (MalformedURLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        selenium = new WebDriverBackedSelenium(driver, "http://www.google.com/");
        System.out.println("In Test Methos");
        selenium.open("http://www.google.com/"); 
        System.out.println(selenium.getTitle() + "in in Test Method");
        selenium.close();
    }
    }

3 个答案:

答案 0 :(得分:0)

您使用的是错误的注释,请阅读TestNG Javadoc:

http://testng.org/javadocs/org/testng/annotations/Parameters.html

答案 1 :(得分:0)

即使我在程序中遇到了一些错误 尝试在@parameter annotation

之前编写@ before,@ after或@test注释

答案 2 :(得分:0)

使用@parameters代替@parameter