Я следил за некоторыми блогами и тестовым сайтом, чтобы это работало, идея использования параметров заключается в передаче значения браузера из файла 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();
}
}