1. import org.openqa.selenium.WebDriver;
  2. import org.primitive.testobjects.Entity;
  3. import org.primitive.testobjects.FunctionalPart;
  4. import org.primitive.testobjects.ObjectFactory;
  5. import org.primitive.webdriverencapsulations.WebDriverEncapsulation;
  6. import demo.demo.base.AnyOneCPage;
  7. import net.thucydides.core.annotations.DefaultUrl;
  8. import net.thucydides.core.pages.PageObject;
  9. import net.thucydides.core.pages.Pages;
  10. import net.thucydides.core.webdriver.Configuration;
  11. @DefaultUrl("http://platform.demo.1c.ru/demo82/ru/")
  12. public class OneC extends Pages {
  13. private static final long serialVersionUID = 1L;
  14. private final Entity wrappedApplication;
  15. public OneC(Configuration configuration) {
  16. super(configuration);
  17. WebDriverEncapsulation encapsulation = new WebDriverEncapsulation(
  18. getDriver());
  19. wrappedApplication = ObjectFactory.getEntity(encapsulation,
  20. Entity.class);
  21. }
  22. public OneC(WebDriver driver) {
  23. super(driver);
  24. WebDriverEncapsulation encapsulation = new WebDriverEncapsulation(
  25. getDriver());
  26. wrappedApplication = ObjectFactory.getEntity(encapsulation,
  27. Entity.class);
  28. }
  29. public OneC(WebDriver driver, Configuration Configuration) {
  30. super(driver, Configuration);
  31. WebDriverEncapsulation encapsulation = new WebDriverEncapsulation(
  32. getDriver());
  33. wrappedApplication = ObjectFactory.getEntity(encapsulation,
  34. Entity.class);
  35. }
  36. /**
  37. * Вариант получечения объектов с главной страницы
  38. */
  39. /**
  40. * import org.primitive.testobjects.interfaces.IDecomposable;
  41. import net.thucydides.core.pages.PageObject;
  42. public abstract class AnyOneCPage extends PageObject implements IDecomposable {
  43. */
  44. @Override
  45. public <T extends PageObject> T get(final Class<T> pageObjectClass) {
  46. T result = super.get(pageObjectClass);
  47. ((AnyOneCPage) result).initAsDecomposable(wrappedApplication
  48. .getPart(FunctionalPart.class));
  49. return result;
  50. }
  51. /**
  52. * Вариант c инициализацией от возникшего браузерного окна
  53. */
  54. public <T extends PageObject> T get(final Class<T> pageObjectClass, int windowIndex)
  55. {
  56. T result = super.get(pageObjectClass);
  57. ((AnyOneCPage) result).initAsDecomposable(wrappedApplication.getFromWinow(FunctionalPart.class, windowIndex));
  58. return result;
  59. }
  60. }