julia_v_iluhina

Untitled

Jan 4th, 2017
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 9.13 KB | None | 0 0
  1. ответы на вопросы
  2. https://docs.google.com/document/d/1ZlIcbBe8RYBrwlVSbPQhav701VZRduP_xYerFpPDmgA/edit#
  3.  
  4. Из smoka убрать edit, cancel edit, delete.
  5. /*
  6.     да
  7. */
  8. И вынести их в фичатест , хотя edit, cancel edit уже вынес по твоему комментарию от  01.01.
  9. Т.е. только delete ?
  10. /*
  11.     будешь ссылаться на комментарии - приводи их
  12.     чтобы мне не приходилось их искать
  13.     я не всегда могу догадаться - по твоим выводам - на каких моих рекомендациях они базируются
  14.  
  15.     нужно вынести это
  16.     не в один фиче-тест
  17.     а в фиче-тестЫ
  18.     каждая фича = свой тест-метод
  19. */
  20. (Новый e2e я реализовывать не хочу, ты меня не так поняла, я хотел и этот не трогать, не обращая внимание на покрытие.)
  21. /*
  22.     новый е2е - и не нужен
  23.     задача была в другом
  24.    
  25.     этот трогать - придется
  26.     я предложила путь
  27.     при котором это сделать максимально просто
  28.  
  29.     обращать внимание на покрытие нужно
  30.     это - часть задачи
  31. */
  32. *****************************************************
  33. Переделать матрицу покрытия в соотв с п.1. Т.е. edit, cancel edit, delete из smoke в feature с сохранением приоритета
  34. /*
  35.     Переделать матрицу покрытия - слишком громкое название для работ с тест-планом
  36.     всех переделок - подправить  - что где покрыто
  37.     структурно - та же таблица
  38.     приоритеты - как были так и остались
  39.     изменится - только информация о покрытии, и то не много
  40.  
  41.     Т.е. edit, cancel edit, delete из smoke в feature с сохранением приоритета = да
  42. */
  43. ********************************************
  44. Фичатесты –убрать openPage поскольку он уже в @Before (догадался)
  45. /*
  46.     да
  47.     это было в видео
  48. */
  49. ****************************************
  50.  “я бы вместо
  51.     startEdit("123", "123 edited");
  52.         сlickOnBody();
  53.         реализовала метод startEditThenClickOutside”
  54. Так?
  55.     private void startEditThenClickOutside(String fromTaskText, String toTaskText){
  56.         startEdit( fromTaskText, toTaskText);
  57.         $("body").click();
  58.     }
  59.  
  60. или так?
  61.  private void startEditThenClickOutside(String fromTaskText, String toTaskText){
  62.         startEdit( fromTaskText, toTaskText);
  63.         clickOnBody();;
  64.     }
  65. где
  66. private void clickOnBody() {
  67.         $("body").click();
  68. /*
  69.     твой первый вариант
  70.     вот этот:
  71. */
  72.     private void startEditThenClickOutside(String fromTaskText, String toTaskText){
  73.         startEdit( fromTaskText, toTaskText);
  74.         $("body").click();
  75.     }
  76. *********************************************
  77. Теперь что не понял
  78. 1- ? ( не догадался)
  79. 2-? Заполнить квадрант 2ками ?
  80.  
  81. /*
  82.     1
  83.         я писала
  84.         в фиче-тесте - разумно покрыть в рамках проверок - второй проверкой
  85.         items left
  86.         это нам ничего не стоит
  87.         это практически не усложнит  тест
  88.         но уточнить проверки и улучшит покрытие
  89.         обозначь - что покроешь items left после віполнения тестируемого действия
  90.  
  91.         по возможности - так поступай в любоим из фиче-тестов
  92.         это же - обозначь в тест-плане
  93.     2
  94.         в рамках smoke -  этого вообще покрывать не нужно
  95.         раз решил - настаивать не буду
  96.         в КОДЕ  - обозначь эти методы как extra coverage
  97.         перед такими тест-методами - напиши один общий комментарий
  98.         на уровне тест-плана - ничего не меняй
  99.         разве что items left допокрой
  100. */
  101. *******************************************
  102. Я проворонил и об этом раньше упоминалось? или это что-то новенькое ?
  103.  
  104. 3- по реализации редактирования - остались вопросы
  105. http://pastebin.com/Luk6A4WP
  106. строки 49-85
  107. в чем суть этого действия - startEditThenCancel
  108.         мы уже вввели ноый текст
  109.         и нажали Escape
  110.         и, несмотря на введенный новый текст, остались со старым текстом = отменили редактирование
  111.     а при такой реализации, как у тебя, даже если Enter нажать = текст таски не изменится
  112.     потому что мы его и не меняли
  113.  
  114.     это мы должны делать и при выполнении startEditThenCancel:
  115.     tasks.findBy(cssClass("editing")).find(".edit").setValue(toTaskText)
  116.     значит = это тоже повторяющееся действие
  117.      Верни ввод нового текста - в startEditThenCancel
  118.     И в метод, который будет выполнять общие действия - включи все общие действия
  119.     и пусть метод возвращает SelenideElement = элемент, в котором вводили новый текст
  120.     это нужно - чтобы для этого элемента - далее вызвать  pressEnter() или pressEscape();
  121.      получишь
  122. */
  123.     private void startEdit(String fromTaskText, String toTaskText){
  124.         tasks.find(exactText(fromTaskText)).doubleClick();
  125.         return tasks.findBy(cssClass("editing")).find(".edit").setValue(toTaskText);
  126.     }
  127.  
  128.     private void edit(String fromTaskText, String toTaskText) {
  129.         startEdit(fromTaskText, toTaskText).pressEnter();
  130.     }
  131.     ...
  132. /*
  133.     метод элемента(SelenideElement) setValue - возвращает этот же элемент
  134.     потому - мы смогли написать вот так - return tasks.findBy(cssClass("editing")).find(".edit").setValue(toTaskText);
  135.  
  136.     зажми ctrl и наведи курсор мыши на setValue - увидишь сигнатуру метода
  137.     такой прием поможет тебе понять, как построить свой код, как использовать тот или иной метод
  138.  
  139. Последняя версия выглядела так ( что не так - так и не понял)
  140.     private SelenideElement startEdit(String fromTaskText, String toTaskText) {
  141.         tasks.find(exactText(fromTaskText)).doubleClick();
  142.         return tasks.findBy(cssClass("editing")).find(".edit").setValue(toTaskText);
  143.     }
  144.  
  145.     private void edit(String fromTaskText, String toTaskText) {
  146.  
  147.         startEdit(fromTaskText, toTaskText).pressEnter();
  148.     }
  149.  
  150.     private void startEditThenCancel(String fromTaskText, String toTaskText) {
  151.         startEdit(fromTaskText, toTaskText).pressEscape();
  152.     }
  153. /*
  154.     в теперь приведенной версией - как раз все в порядке
  155.     посмотри на тот комментарий, что я сделала
  156.     я не эту версию кода комментировала
  157.     а другую
  158.     вот эту (http://pastebin.com/Luk6A4WP, строки 36-48):
  159. */
  160.     private void findTaskThenDoubleClick(String  fromTaskText){
  161.         tasks.find(exactText(fromTaskText)).doubleClick();
  162.     }
  163.  
  164.     private void edit(String fromTaskText, String toTaskText) {
  165.         findTaskThenDoubleClick(fromTaskText);
  166.         tasks.findBy(cssClass("editing")).find(".edit").setValue(toTaskText).pressEnter();
  167.     }
  168.  
  169.     private void startEditThenCancel(String fromTaskText, String toTaskText) {
  170.         findTaskThenDoubleClick(fromTaskText);
  171.         tasks.findBy(cssClass("editing")).find(".edit").pressEscape();
  172.     }
  173.  
  174. /*
  175.     почему теперь оказалось, что твоя реализация не такая, какую я комментировала
  176.     я уже разбираться не буду - жалко времени
  177.  
  178.     обычно в ревью - я указываю код, по которому есть вопросы,
  179.     и ниже - комментирую его
  180.     обращай внимание и на приведенный код
  181.     вопросы будут сниматься
  182. */
Advertisement
Add Comment
Please, Sign In to add comment