Когда я использую аннотацию @Parameters, я получаю 2 сообщения об ошибках «Аннотация @Parameter запрещена для этого места». Не уверен почему? - PullRequest
0 голосов
/ 05 марта 2012

Я следил за некоторыми блогами и тестовым сайтом, чтобы это работало, идея использования параметров заключается в передаче значения браузера из файла testng.xml. Но когда я помещаю аннотацию @Parameters, ошибка появляется в затмении перед запуском скрипта. При попытке подтвердить код возникает ошибка -

Сообщение об ошибке

Несколько маркеров на этой линии - Значение атрибута не определено для типа аннотации параметр - Параметр не может быть преобразован в тип - аннотация @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 голосов
/ 04 октября 2013

Даже если я обнаружил ошибку в моей программе, попробуйте написать аннотацию @before, @after или @test перед аннотацией @parameter

0 голосов
/ 09 августа 2017

Используйте @parameters вместо @ parameter

0 голосов
/ 05 марта 2012

Вы используете неправильную аннотацию, прочитайте Javadoc TestNG:

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...