Невозможно вызвать пользовательскую аннотацию в тесте селена
я пишу тест Apache Poi Selen Junit -
Чтобы избежать @RunWith я попробовал мою аннотацию
public class MyTest extends OtherTest {
String a ;
String b;
String c;
String d;
@testDataProvider(name = "abc")
public static Object[][] fetchClass(){
Object[][] ar = excel.getar("abc");
return (ar);
}
@testDataProviderTest(dataProvider = "abc")
@Test
public void test1() {
System.out.println(a);
}
Пользовательский класс аннотации для testDataProvider. Я попытался использовать тот же testng DataProvider в пользовательской аннотации, как показано ниже
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface testDataProvider {
public String name() default "";
boolean parallel() default false;
int[] indices() default {};
}
Пользовательская аннотация для testDataPrviderTest
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD,ElementType.CONSTRUCTOR,ElementType.TYPE})
public @interface testDataProviderTest {
public String[] groups() default {};
public boolean enabled() default true;
@Deprecated
public String[] parameters() default {};
public String[] dependsOnGroups() default {};
public String[] dependsOnMethods() default {};
public long timeOut() default 0;
public long invocationTimeOut() default 0;
public int invocationCount() default 1;
public int threadPoolSize() default 0;
public int successPercentage() default 100;
public String dataProvider() default "";
public Class<?> dataProviderClass() default Object.class;
public boolean alwaysRun() default false;
public String description() default "";
public Class[] expectedExceptions() default {};
public String expectedExceptionsMessageRegExp() default ".*";
public String suiteName() default "";
public String testName() default "";
public boolean sequential() default false;
public boolean singleThreaded() default false;
public Class retryAnalyzer() default Class.class;
public boolean skipFailedInvocations() default false;
public boolean ignoreMissingDependencies() default false;
int priority() default 0;
}
Я избегаю использовать @RunWith, как у меня есть метод Before, чтобы получить путь к листу Excel.