julia_v_iluhina

Untitled

Sep 11th, 2016
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.00 KB | None | 0 0
  1. public class Configuration {
  2.     public static int timeout = 15;
  3.     //test fails with 4, and even with 10 sec. my Selenide project had 20 sec timeout setting
  4. }
  5.  
  6. /*
  7.     тут - выставляем значение по умолчанию
  8.     аналогичное значение - и в Selenide по умолчанию =  4 секунды
  9.  
  10.     а в коде тест-класса - мы его переназначим
  11.  
  12.     тут - то, что подходит для большинства приложений
  13.  
  14. */
  15. *****************
  16.  
  17. public class GmailTest extends BaseTest {
  18.  
  19. /*
  20.     а тут - задаем нам нужный Configuration.timeout
  21.  
  22.     пример - из твоего же селенидовского задания
  23.     http://joxi.ru/12MDGYXu4aJOJm
  24.  
  25. */
  26. ********************************
  27. public void open(String URL)
  28. /*
  29.     имена параметров - пишутся по правилам lowerCamelCase
  30.     https://google.github.io/styleguide/javaguide.html#s5.2.6-parameter-names
  31. */
  32. **************************************
  33.   public static <V> ExpectedCondition<V> elementExceptionsCatcher(final Function<? super WebDriver, V> condition) {
  34.  ...
  35.                 } catch (StaleElementReferenceException e) {
  36.                     return null;
  37.                 } catch (ElementNotVisibleException e) {
  38.                     return null;
  39.                 }
  40. ....
  41. /*
  42.     в качестве параметра этого метода - можно чуть проще
  43.     не
  44.     final Function<? super WebDriver, V> condition
  45.     а
  46.     final ExpectedCondition<V> condition
  47.  
  48.     Function<? super WebDriver, V> - это предок для ExpectedCondition<V>
  49.  
  50.  
  51.     тут нужно ловить еще и IndexOutOfBoundsException
  52.     т к в listNthElementHasText при получении actualTexts.get(index)
  53.     когда index лежит за границами размера списка - возникнет такое исключение
  54.  
  55.     можно использовать одну catch-секцию
  56.     для перехвата нескольких видов исключений
  57.     http://docs.oracle.com/javase/7/docs/technotes/guides/language/catch-multiple.html
  58.     http://stackoverflow.com/questions/3495926/can-i-catch-multiple-java-exceptions-in-the-same-catch-clause
  59.  
  60. */
  61. *******************************
  62. public class BasePage extends ConciseAPI {
  63.     ...
  64.     public BasePage(WebDriver driver) {
  65.        ...
  66.         PageFactory.initElements(driver, this);
  67.     }
  68. /*
  69.     ты ж в проекте не используешь @FindBy аннотацию
  70.     значит - и такой способ инициализации пейджа - PageFactory.initElements(driver, this);
  71.     уже не нужен
  72. */
  73. *************************************
  74.     Gmail page = new Gmail(driver);
  75.     Mails mails = new Mails(driver);
  76.     Menu menu = new Menu(driver);
  77. /*
  78.     Gmail page - вполне можно было бы назвать и gmail
  79. */
Advertisement
Add Comment
Please, Sign In to add comment