yashaka

Untitled

Feb 1st, 2017
162
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.82 KB | None | 0 0
  1. public class GoogleSearchTest {
  2.  
  3.     @BeforeClass
  4.     public static void setup() {
  5.         Configuration.browser = System.getProperty("driver.browser");
  6.     }
  7.  
  8.     @Test
  9.     public void testValidInputSearch() {
  10.  
  11.         open("http://google.com/ncr");
  12.         googleSearchInputField.setValue("Selenium automates browsers").pressEnter();
  13.         /* я б назвав search навіть просто - і так ясно про що йтиме мова...
  14.          */
  15.         resultsList.shouldBe(sizeGreaterThan(9)); // а чому не size(10) ?
  16.         /* тут достатньо просто results
  17.          */
  18.         resultsList.get(1); // що робить ця стрічка? навіщо вона?
  19.         firstSearchResult.shouldHave(text("Selenium automates browsers"));
  20.         /* навіщо тут взагалі ця змінна firstSerachResult? хіба не можна написати resultsList.get(1).shouldHave(text("...")) ?
  21.          */
  22.         openFirstSearchResult.click();
  23.         /*
  24.           змінна - це змінна а не метод. Перечитай ще раз гайдлайни по іменам. Змінні мають називатись іменниками а не дійсловами, тому що вони - не команди... а просто "сутності"
  25.           і вже можна було просто в метод запихнути все а не в змінну саме в цьому випадку...
  26.           але... і це все також занадто... навіщо взагалі ця змінна?
  27.           у тебе ж є resultsList.get(1) що слабо дописати до нього .$(".r>a") - цей локатор доречі і так доволі читабельний
  28.           з нього видно що шукаємо лінку в середині - бо a - це і є тег лінки...
  29.          */
  30.         seleniumLogo.shouldBe(visible);
  31.  
  32.     }
  33.  
  34.     ElementsCollection resultsList = $$("#rso .g");
  35.  
  36.     SelenideElement googleSearchInputField = $("#sb_ifc0 .gsfi"); // там є кращий локатор... подивись уважно на всі атрибути і знайти більш читабельний
  37.     SelenideElement firstSearchResult = $(".s>div .st");
  38.     SelenideElement openFirstSearchResult = $(".r>a");
  39.     SelenideElement seleniumLogo = $("#sidebar>img"); //  ну я б краще інший елементи перевірив :) я б моливо краще якийсь текст перевірив... або тайтл сторінки...
  40.     щоб тайтл перевірити треба написати так: Selenide.Wait().until(titleIs(...))
  41.     тому що тут юзаються інші кондішени - селеніумські - от цей titleIs
  42.  
  43. }
Advertisement
Add Comment
Please, Sign In to add comment