julia_v_iluhina

Untitled

Nov 3rd, 2016
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.34 KB | None | 0 0
  1. public class BaseTest {
  2. ...
  3.  
  4.     @After
  5.     public void clear() {
  6.         executeJavaScript();
  7.     }
  8. /*
  9.     не надо портить универсального предка тест-класса - деталями про наше приложение
  10.     очистку локалсториджа - уже в тест-классе делай
  11.     там расположи этот метод
  12. */
  13. *************
  14. public class ToDoMvcTest extends BaseTest {
  15.  
  16.     @Before
  17.     public void openUrl(){ visit();}
  18. /*
  19.     открываешь урл  - в тест-классе
  20.     вот и локалсторидж очищай в тест-классе
  21.  
  22.     погугли про Single Responsibility
  23.  
  24.     и не забывай про форматирование кода
  25.     выдели код + code->reformat code
  26.  
  27.     касается всего кода
  28. */
  29. ***********************
  30.     public static void executeJavaScript(){
  31.         ((JavascriptExecutor) getDriver()).executeScript("localStorage.clear()");
  32.     }
  33. /*
  34.     нам ведь далеко не всегда нужно выполнять команду "localStorage.clear()"
  35.     для тестирования этого приложения - да - "localStorage.clear()"
  36.     а для чего-то другого - другую
  37.  
  38.     разумно иметь метод для выполнения джаваскрипт-команд - более универсальный
  39.     добавь методу параметр String jsCommand
  40.  
  41.     и вызывать метод будешь
  42.     executeJavaScript("localStorage.clear()")
  43.  
  44.     сразу 2 выигрыша
  45.         метод - универсальнее
  46.         вызов - нагляднее
  47.  
  48.      кстати, если хочешь, посмотри как реализована такой же метод в Selenide
  49.      если понравится вариант - примени у себя
  50.  
  51. */
  52. ****************************
  53.  actualTexts.clear();
  54.  actualTexts = getTexts(listElements);
  55. /*
  56.     чистить список перед его инициализацией - смысла нету
  57.     очистили все что было, а потом создали заново
  58.  
  59.     вывод - раз создаем заново, можно не чистить
  60. */
  61. *********************
  62. sizeOfVisible
  63. /*
  64.     Мы в этом кондишене - не проверяем тексты тасок, и не выводим их
  65.     что как раз ОК
  66.  
  67.     значит - можно и не получать их
  68. */
  69. *************************
  70.     public static WebElement $(ExpectedCondition<WebElement> conditionToWaitParentElement){
  71.        return assertThat(conditionToWaitParentElement);
  72.     }
  73. /*
  74.     В данном случае ни о каких родительских элементах речи не идет
  75.  
  76.     параметр метода надо бы переименовать
  77.     conditionToWaitElement
  78. */
  79. *************************
  80. http://joxi.ru/GrqLOX3SNoQ0oA
  81. /*
  82.     все же подправь в прошлом проекте
  83.     и сюда добавь - методы, возвращающие By
  84.  
  85.     https://bitbucket.org/Museua/modularsimple/src/899dab6eb92044c7f420e463f9aa4c22290f4727/src/main/java/gmail/core/ConciseAPI.java?at=master&fileviewer=file-view-default
  86.  
  87.     1 - доработай
  88.     как искать элемент по title - у тебя же есть в пейджах gmail-овских
  89.     (можно сделать - чтобы метод всехна искал по условию - в тайтле содержится ..., а можно быть точнее
  90.      и создать byTitle, byExactTitle)
  91.  
  92.     2 - предлагаю убить
  93.  
  94.     не забудь и предыдущее решение обновить
  95.  
  96.     согласна, тут вроде бы этого и не надо
  97.     но это такие вещи, которые могут тебе пригодиться
  98.     так что подравняй
  99.  
  100.     да и в предыдущем проекте надо бы подправить)
  101. */
  102. **************************************
  103.  public static WebElement startEdit(String oldTaskText, String newTaskText) {
  104.         doubleClick($(listElementWithText(tasks, oldTaskText), "label"));
  105.         $(listElementByCssClass(tasks, "editing"), ".edit");
  106.         /*
  107.             в этой строке - мы получиль вебэлемент
  108.             но ничего с полученным делать не стали
  109.  
  110.             ниже - заново его получаем
  111.  
  112.             или за счет этой строки - упрости следующую
  113.             или убирай ее, как ненужную
  114.  
  115.             я бы убрала)
  116.         */
  117.         return setValue($(listElementByCssClass(tasks, "editing"), ".edit"), newTaskText);
  118.  }
  119. *********************************
  120.   $(byCss("#toggle-all"))
  121.   или
  122.   $("#toggle-all")
  123. /*
  124.     второй вариант - все же попроще)
  125.  
  126.     просмотри код и упрости где это возможно
  127. */
  128. ************************
  129.  public static void assertTasksAre(String... tasksText) {
  130. /*
  131.     подправь имя параметра
  132.     мы ждем не текст, а текстЫ тасок
  133. */
Advertisement
Add Comment
Please, Sign In to add comment