@Override public Object[] resolve(Method method) { Collection<SearchContextTestEnricher> sortedSearchContextEnrichers = AbstractSearchContextEnricher.getSortedSearchContextEnrichers(serviceLoader); Object[] resolvedParams = new Object[method.getParameterTypes().length]; for (SearchContextTestEnricher enricher : sortedSearchContextEnrichers) { if (isApplicableToTestClass(enricher)) { resolvedParams = enricher.resolve(null, method, resolvedParams); } } return resolvedParams; } }
@Before public void prepareServiceLoader() throws NoSuchFieldException, IllegalArgumentException, IllegalAccessException { grapheneEnricher = new GrapheneEnricher(); Instance<GrapheneConfiguration> configuration = new Instance() { @Override public Object get() { return new GrapheneConfiguration(); } }; webElementEnricher = new WebElementEnricher(configuration); pageObjectEnricher = new PageObjectEnricher(); pageFragmentEnricher = new PageFragmentEnricher(configuration); when(serviceLoaderInstance.get()).thenReturn(serviceLoader); when(serviceLoader.all(TestEnricher.class)).thenReturn(Arrays.asList(grapheneEnricher)); when(serviceLoader.all(SearchContextTestEnricher.class)).thenReturn(Arrays.asList(webElementEnricher, pageObjectEnricher, pageFragmentEnricher)); for (Object o: Arrays.asList(grapheneEnricher, webElementEnricher, pageObjectEnricher, pageFragmentEnricher)) { Field serviceLoaderField; if (o instanceof SearchContextTestEnricher) { serviceLoaderField = AbstractSearchContextEnricher.class.getDeclaredField("serviceLoader"); } else { serviceLoaderField = o.getClass().getDeclaredField("serviceLoader"); } if (!serviceLoaderField.isAccessible()) { serviceLoaderField.setAccessible(true); } serviceLoaderField.set(o, serviceLoaderInstance); } GrapheneContext.setContextFor(new GrapheneConfiguration(), browser, Default.class); GrapheneRuntime.pushInstance(new DefaultGrapheneRuntime()); }
@Override public Object[] resolve(Method method) { Collection<SearchContextTestEnricher> sortedSearchContextEnrichers = AbstractSearchContextEnricher.getSortedSearchContextEnrichers(serviceLoader); Object[] resolvedParams = new Object[method.getParameterTypes().length]; for (SearchContextTestEnricher enricher : sortedSearchContextEnrichers) { if (isApplicableToTestClass(enricher)) { resolvedParams = enricher.resolve(null, method, resolvedParams); } } return resolvedParams; } }
@Override public void enrich(Object o) { Collection<SearchContextTestEnricher> sortedSearchContextEnrichers = AbstractSearchContextEnricher.getSortedSearchContextEnrichers(serviceLoader); for (SearchContextTestEnricher enricher : sortedSearchContextEnrichers) { if (isApplicableToTestClass(enricher)) { enricher.enrich(null, o); } } }
@Override public void enrich(Object o) { Collection<SearchContextTestEnricher> sortedSearchContextEnrichers = AbstractSearchContextEnricher.getSortedSearchContextEnrichers(serviceLoader); for (SearchContextTestEnricher enricher : sortedSearchContextEnrichers) { if (isApplicableToTestClass(enricher)) { enricher.enrich(null, o); } } }