0
을 통과 @dataprovider 나는이 @DataProvider
이TestNG를 여러 클래스 인스턴스
public class A {
@BeforeTest
@DataProvider(name = "ProvideUsefulClasses")
public static Object[][] InitiateUsefulClasses() throws MalformedURLException {
PageObjectOne pageObjOne = new PageObjectOne();
AndroidDriver driver=pageObjOne.driver;
TouchAction touchAction = new TouchAction(driver);
WebDriverWait wait = new WebDriverWait(driver, 20000);
return new Object[][] {
{touchAction, wait},{driver,pageObjOne}
} ;
}
}
같이 정의하고 난 다른 클래스
@Test(dataProvider = "ProvideUsefulClasses",dataProviderClass=A.class)
class testMethods {
public static TouchAction tAction;
public static WebDriverWait Wait;
public static AndroidDriver Driver;
public static PageObjectOne PageObjectOneInst;
@Test(priority=1,dataProvider = "ProvideUsefulClasses",dataProviderClass=A.class)
public static void AgreeAllow(Object[][] UsefulClasses) throws InterruptedException{
tAction = ((TouchAction) UsefulClasses[0][0]);
Wait= ((WebDriverWait) UsefulClasses[0][1]);
Driver = ((AndroidDriver) UsefulClasses[1][0]);
PageObjectOneInst = ((PageObjectOne) UsefulClasses[1][1]);
...
...
}
}
이처럼 수신하고 그러나 나는 오류
을받을FAILED: AgreeAllow
org.testng.internal.reflect.MethodMatcherException:
Data provider mismatch
Method: AgreeAllow([Parameter{index=0, type=[[Ljava.lang.Object;, declaredAnnotations=[]}])
Arguments: [(io.appium.java_client.TouchAction)[email protected],(org.openqa.selenium.support.ui.WebDriverWait)[email protected]]
at org.testng.internal.reflect.DataProviderMethodMatcher.getConformingArguments
오류 모양으로 보았을 때 제대로 데이터를 수신하거나 반송하지 못하고있는 것 같습니다. 모자가 여기 없습니까?
이 방법으로 수행 할 수없는 경우에만 @factory
을 사용하고 싶습니다. @factory
을 사용하여 해결하지 않았으므로 검색해야 할 것입니다.
추가 : 나는 단지 this이지만 그 중 하나만 전달합니다. 여러 과목을 위해 어떻게해야합니까?