private void instantiatePageObjectIfNotAssigned(Field pageObjectField, Object target) { try { pageObjectField.setAccessible(true); if (pageObjectField.get(target) == null) { Class<PageObject> pageObjectClass = (Class<PageObject>) pageObjectField.getType(); PageObject newPageObject = pages.getPage(pageObjectClass); injectDependenciesInto(newPageObject); pageObjectField.set(target, newPageObject); } } catch (IllegalAccessException e) { throw new IllegalArgumentException("Could not instanciate page objects in " + target); } }
private void instantiatePageObjectIfNotAssigned(Field pageObjectField, Object target) { try { pageObjectField.setAccessible(true); if (pageObjectField.get(target) == null) { Class<PageObject> pageObjectClass = (Class<PageObject>) pageObjectField.getType(); PageObject newPageObject = pages.getPage(pageObjectClass); injectDependenciesInto(newPageObject); pageObjectField.set(target, newPageObject); } } catch (IllegalAccessException e) { throw new IllegalArgumentException("Could not instanciate page objects in " + target); } }
private void instantiatePageObjectIfNotAssigned(Field pageObjectField, Object target) { try { pageObjectField.setAccessible(true); if (pageObjectField.get(target) == null) { Class<PageObject> pageObjectClass = (Class<PageObject>) pageObjectField.getType(); PageObject newPageObject = pages.getPage(pageObjectClass); injectDependenciesInto(newPageObject); pageObjectField.set(target, newPageObject); } else { updatePageObject(pageObjectField.get(target), pages); } } catch (IllegalAccessException e) { throw new IllegalArgumentException("Could not instanciate page objects in " + target); } }
@Subscribe public void perform(ActorPerforms performAction) { if (messageIsForThisActor(performAction)) { WebDriver driver = webdriverManager.getWebdriver(); PageObjectDependencyInjector injector = new PageObjectDependencyInjector(new Pages(driver)); injector.injectDependenciesInto(performAction.getPerformable()); } }
@Subscribe public void prepareQuestion(ActorAsksQuestion questionEvent) { if (messageIsForThisActor(questionEvent)) { WebDriver driver = webdriverManager.getWebdriver(); PageObjectDependencyInjector injector = new PageObjectDependencyInjector(new Pages(driver)); injector.injectDependenciesInto(questionEvent.getQuestion()); } }