julia_v_iluhina

Untitled

Nov 12th, 2016
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.21 KB | None | 0 0
  1. public  class GoogleSearchTest {
  2.     {
  3.         driver.get("http://google.com/ncr");
  4.     }
  5.     /*
  6.         рассказали - что будем делать перед запуском каждого теста
  7.     */
  8.  
  9.     @AfterClass
  10.     public static void tearDown(){
  11.     /*
  12.         потом - что сделаем после запуска всех тестов
  13.     */
  14.  
  15.  
  16.     @Test
  17.     public void testSearchAndFollowLink() {
  18.     /*
  19.         потом - тест-метод
  20.     */
  21.  
  22.     public static WebDriver driver = new FirefoxDriver();
  23.     public static Wait wait = new WebDriverWait(driver,6);
  24.     /*
  25.         потом - то, что касается работ до запусков всех тестов
  26.     */
  27.     public static By results =  By.cssSelector("#rso>.g>.rc, .srg>.g");
  28.     /*
  29.         потом - то, что в тестах используем
  30.     */
  31. /*
  32.     я описала в комментариях выше - как сейчас в коде располагается код
  33.     технически - это тоже ок
  34.  
  35.     но вот для понимания - проще будет вот так
  36.         сначала - общая для тест-класса логика
  37.         затем - тест-методы
  38.         затем - вспомогательные вещи
  39.  
  40.      например вот так
  41. */
  42. public  class GoogleSearchTest {
  43.     public static WebDriver driver = new FirefoxDriver();
  44.     public static Wait wait = new WebDriverWait(driver,6);
  45.     /*
  46.         это мы делаем в первую очередь - до запусков всех тестов
  47.     */
  48.  
  49.     {
  50.         driver.get("http://google.com/ncr");
  51.     }
  52.     /*
  53.         это тоже в первую очередь - но уже перез дапуском каждого тест-метода
  54.  
  55.         хотя - я бы вообще не торопилась выносить это в отдельный метод - оставила бы в тест-метода
  56.         ну или в Before-методе реализовала
  57.         в прошлый раз давала линки - так сообщения об ошибках будут содержательнее
  58.     */
  59.  
  60.     @AfterClass
  61.     public static void tearDown(){
  62.     /*
  63.         а так мы до конца описали логику тест-класса в целом
  64.         рассказали - как закрываем вебдрайвер
  65.     */
  66.  
  67.     @Test
  68.     public void testSearchAndFollowLink() {
  69.     /*
  70.         потом - тест-методы
  71.     */
  72.  
  73.     public static By results =  By.cssSelector("#rso>.g>.rc, .srg>.g");
  74.     /*
  75.         и дальше - служебные вещи - переменные и свпомогательные методы
  76.         эту переменную не нужно объявлять как static
  77.     */
  78. *******************************************
  79.     public void testSearchAndFollowLink() {
  80.  
  81.         ...
  82.  
  83.         followLink(0);
  84.         wait.until(textToBePresentInElementLocated(By.cssSelector("#mainContent>h2"),"What is Selenium?"));
  85.         /*
  86.             это уже можно не делать - т к следующая проверка - тоже ждущая
  87.             в селенидовском проекте - мы делали проверку урла с помощью не ждущей проверки
  88.             потому - до этого требовалось дождаться - что страница загружена
  89.             а тут - это уже лишнее
  90.             проверки урла - будет достаточно
  91.         */
  92.         wait.until(urlToBe("http://docs.seleniumhq.org/"));
  93.  
  94.     }
  95. **************************************************
  96. public static void followLink(int index){
  97.     ....findElement(By.cssSelector("a")).click();
  98. }
  99. /*
  100.     по селектору "a"
  101.     мы находим в результате поиска - несколько линок - http://joxi.ru/MAj1YoWsvnzGM2
  102.    
  103.     уточни этот селектор, чтобы находилась лишь одна главная линка - http://joxi.ru/Vrwqg81HKpZzB2
  104. */
Advertisement
Add Comment
Please, Sign In to add comment