Upgrade to Pro — share decks privately, control downloads, hide ads and more …

webtestsFINAL.pdf

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest. →
Avatar for Ku Ku
April 14, 2016
300

 webtestsFINAL.pdf

Avatar for Ku

Ku

April 14, 2016

Transcript

  1. WebDriver driver; @Before public void getDriver() { driver = new

    FirefoxDriver(); } @Test public void shouldSeeYandexInFirstResult() { driver.get(«http://yandex.ru»); driver.findElement(By.cssSelector(«#text»)).sendKeys(«яндекс»);
 driver.findElement(By.cssSelector(«.home-arrow .button»)).click();
 WebElement searchResult = driver.findElements(By.cssSelector(«.serp-list .serp-item»)).get(0);
 assertThat(searchResult.getText(), containsString(«Яндекс»)); } @After public void quitDriver() { driver.quit(); }
  2. WebDriver driver; @Before public void getDriver() { driver = new

    FirefoxDriver(); } @Test public void shouldSeeYandexInFirstResult() { driver.get(«http://yandex.ru»); driver.findElement(By.cssSelector(«#text»)).sendKeys(«яндекс»);
 driver.findElement(By.cssSelector(«.home-arrow .button»)).click();
 WebElement searchResult = driver.findElements(By.cssSelector(«.serp-list .serp-item»)).get(0);
 assertThat(searchResult.getText(), containsString(«Яндекс»)); } @After public void quitDriver() { driver.quit(); }
  3. WebDriver driver; @Before public void getDriver() { driver = new

    FirefoxDriver(); } @Test public void shouldSeeYandexInFirstResult() { driver.get(«http://yandex.ru»); driver.findElement(By.cssSelector(«#text»)).sendKeys(«яндекс»);
 driver.findElement(By.cssSelector(«.home-arrow .button»)).click();
 WebElement searchResult = driver.findElements(By.cssSelector(«.serp-list .serp-item»)).get(0);
 assertThat(searchResult.getText(), containsString(«Яндекс»)); } @After public void quitDriver() { driver.quit(); }
  4. WebDriver driver; @Before public void getDriver() { driver = new

    FirefoxDriver(); } @Test public void shouldSeeYandexInFirstResult() { driver.get(«http://yandex.ru»); driver.findElement(By.cssSelector(«#text»)).sendKeys(«яндекс»);
 driver.findElement(By.cssSelector(«.home-arrow .button»)).click();
 WebElement searchResult = driver.findElements(By.cssSelector(«.serp-list .serp-item»)).get(0);
 assertThat(searchResult.getText(), containsString(«Яндекс»)); } @After public void quitDriver() { driver.quit(); }
  5. Как видит страницу тест? <html> <body> <div>Первый блок</div> <div>Второй блок

    <div class="text">первый подблок во втором блоке</span> <input class=«input__control» id=«text»>поле ввода во втором блокке</span> <span>третий подблок во втором блоке</span> </div> </body> </html>
  6. Способы поиска элементов <html> <body> <div>Первый блок</div> <div>Второй блок <div

    class="text">первый подблок во втором блоке</span> <input class=«input__control» name=«q» id=«text»>поле ввода во втором блокке</span> <span>третий подблок во втором блоке</span> </div> </body> </html>
  7. id элемента <…> <div>Второй блок <div class="text">первый подблок во втором

    блоке</span> <input class=«input__control» name=«q» id=«text»>поле ввода во втором блокке</span> <span>третий подблок во втором блоке</span> </div> <…> driver.findElement(By.id("text"))
  8. name элемента <…> <div>Второй блок <div class="text">первый подблок во втором

    блоке</span> <input class=«input__control» name=«q» id=«text»>поле ввода во втором блокке</span> <span>третий подблок во втором блоке</span> </div> <…> driver.findElement(By.name("q"))
  9. class элемента <…> <div>Второй блок <div class="text">первый подблок во втором

    блоке</span> <input class=«input__control» name=«q» id=«text»>поле ввода во втором блокке</span> <span>третий подблок во втором блоке</span> </div> <…> driver.findElement(By.className("input__control"))
  10. tagName элемента <…> <div>Второй блок <div class="text">первый подблок во втором

    блоке</span> <input class=«input__control» name=«q» id=«text»>поле ввода во втором блокке</span> <span>третий подблок во втором блоке</span> </div> <…> driver.findElement(By.tagName("input"))
  11. xpath <…> <div>Второй блок <div class="text">первый подблок во втором блоке</span>

    <input class=«input__control» name=«q» id=«text»>поле ввода во втором блокке</span> <span>третий подблок во втором блоке</span> </div> <…> driver.findElement(By.xpath("/html/body/div/input[@id=‘text’]"))
  12. CSS селекторы <…> <div>Второй блок <div class="text">первый подблок во втором

    блоке</span> <input class=«input__control» name=«q» id=«text»>поле ввода во втором блокке</span> <span>третий подблок во втором блоке</span> </div> <…> driver.findElement(By.cssSelector(«#text»))
  13. CSS селекторы <…> <div>Второй блок <div class="text">первый подблок во втором

    блоке</span> <input class=«input__control» name=«q» id=«text»>поле ввода во втором блокке</span> <span>третий подблок во втором блоке</span> </div> <…> driver.findElement(By.cssSelector(«.input__control»))
  14. CSS селекторы <…> <div>Второй блок <div class="text">первый подблок во втором

    блоке</span> <input class=«input__control» name=«q» id=«text»>поле ввода во втором блокке</span> <span>третий подблок во втором блоке</span> </div> <…> driver.findElement(By.cssSelector(«.input__control#text»))
  15. CSS селекторы <…> <div>Второй блок <div class="text">первый подблок во втором

    блоке</span> <input class=«input__control» name=«q» id=«text»>поле ввода во втором блокке</span> <span>третий подблок во втором блоке</span> </div> <…> driver.findElement(By.cssSelector(«input[name=«q»]»))
  16. CSS селекторы <…> <div>Второй блок <div class="text">первый подблок во втором

    блоке</span> <input class=«input__control» name=«q» id=«text»>поле ввода во втором блокке</span> <span>третий подблок во втором блоке</span> </div> <…> driver.findElement(By.cssSelector(«input:not([name])»))
  17. CSS селекторы <…> <div>Второй блок <div class="text">первый подблок во втором

    блоке</span> <input class=«input__control» name=«q» id=«text»>поле ввода во втором блокке</span> <span>третий подблок во втором блоке</span> <div class="text">первый подблок во втором блоке</span> </div> <…> driver.findElement(By.cssSelector(«div .text»))
  18. CSS селекторы driver.findElement(By.cssSelector(«div>.text»)) <…> <div>Второй блок <div class="text">первый подблок во

    втором блоке</span> <input class=«input__control» name=«q» id=«text»>поле ввода во втором блокке</span> <span>третий подблок во втором блоке</span> <div class="text">первый подблок во втором блоке</span> </div> <…>
  19. WebDriver driver; @Before public void getDriver() { driver = new

    FirefoxDriver(); } @Test public void shouldSeeYandexInFirstResult() { driver.get(«http://yandex.ru»); driver.findElement(By.cssSelector(«#text»)).sendKeys(«яндекс»);
 driver.findElement(By.cssSelector(«.home-arrow .button»)).click();
 WebElement searchResult = driver.findElements(By.cssSelector(«.serp-list .serp-item»)).get(0);
 assertThat(searchResult.getText(), containsString(«Яндекс»)); } @After public void quitDriver() { driver.quit(); }
  20. WebDriver driver; @Before public void getDriver() { driver = new

    FirefoxDriver(); } @Test public void shouldSeeYandexInFirstResult() { driver.get(«http://yandex.ru»); driver.findElement(By.cssSelector(«#text»)).sendKeys(«яндекс»);
 driver.findElement(By.cssSelector(«.home-arrow .button»)).click();
 WebElement searchResult = driver.findElements(By.cssSelector(«.serp-list .serp-item»)).get(0);
 assertThat(searchResult.getText(), containsString(«Яндекс»)); } @After public void quitDriver() { driver.quit(); }
  21. WebDriver driver; @Before public void getDriver() { driver = new

    FirefoxDriver(); } @Test public void shouldSeeYandexInFirstResult() { driver.get(«http://yandex.ru»); driver.findElement(By.cssSelector(«#text»)).sendKeys(«яндекс»);
 driver.findElement(By.cssSelector(«.home-arrow .button»)).click();
 WebElement searchResult = driver.findElements(By.cssSelector(«.serp-list .serp-item»)).get(0);
 assertThat(searchResult.getText(), containsString(«Яндекс»)); } @After public void quitDriver() { driver.quit(); }
  22. WebDriver driver; @Before public void getDriver() { driver = new

    FirefoxDriver(); } @Test public void shouldSeeYandexInFirstResult() { driver.get(«http://yandex.ru»); driver.findElement(By.cssSelector(«#text»)).sendKeys(«яндекс»);
 driver.findElement(By.cssSelector(«.home-arrow .button»)).click();
 WebElement searchResult = driver.findElements(By.cssSelector(«.serp-list .serp-item»)).get(0);
 assertThat(searchResult.getText(), containsString(«Яндекс»)); } @After public void quitDriver() { driver.quit(); }
  23. WebDriver driver; @Before public void getDriver() { driver = new

    FirefoxDriver(); } @Test public void shouldSeeYandexInFirstResult() { driver.get(«http://yandex.ru»); driver.findElement(By.cssSelector(«#text»)).sendKeys(«яндекс»);
 driver.findElement(By.cssSelector(«.home-arrow .button»)).click();
 WebElement searchResult = driver.findElements(By.cssSelector(«.serp-list .serp-item»)).get(0);
 assertThat(searchResult.getText(), containsString(«Яндекс»)); } @After public void quitDriver() { driver.quit(); }
  24. WebDriver driver; @Before public void getDriver() { driver = new

    FirefoxDriver(); } @Test public void shouldSeeYandexInFirstResult() { driver.get(«http://yandex.ru»); driver.findElement(By.cssSelector(«#text»)).sendKeys(«яндекс»);
 driver.findElement(By.cssSelector(«.home-arrow .button»)).click();
 WebElement searchResult = driver.findElements(By.cssSelector(«.serp-list .serp-item»)).get(0);
 assertThat(searchResult.getText(), containsString(«Яндекс»)); } @After public void quitDriver() { driver.quit(); }
  25. ? ?

  26. Я

  27. Открываем браузер // Локально WebDriver driver = new FirefoxDriver(); //

    Удалённо
 WebDriver driver = new RemoteWebDriver(
 new URL(«http://mega-selenium-server»),
 new DesiredCapabilities.firefox());
  28. Открываем браузер // Любой
 WebDriver driver = new RemoteWebDriver(
 new

    URL("http://mega-selenium-server"),
 new DesiredCapabilities.firefox()); // Нужный
 WebDriver driver = new RemoteWebDriver(
 new URL("http://«http://mega-selenium-hub»),
 new DesiredCapabilities(«firefox», «33», Platform.MAC));
  29. WebDriver driver; @Before public void getDriver() { driver = new

    FirefoxDriver(); } @Test public void shouldSeeYandexInFirstResult() { driver.get(«http://yandex.ru»); driver.findElement(By.cssSelector(«#text»)).sendKeys(«яндекс»);
 driver.findElement(By.cssSelector(«.home-arrow .button»)).click();
 WebElement searchResult = driver.findElements(By.cssSelector(«.serp-list .serp-item»)).get(0);
 assertThat(searchResult.getText(), containsString(«Яндекс»)); } @After public void quitDriver() { driver.quit(); }
  30. WebDriver driver; @Before public void getDriver() { driver = new

    FirefoxDriver(); } @Test public void shouldSeeYandexInFirstResult() { driver.get(«http://yandex.ru»); driver.findElement(By.cssSelector(«#text»)).sendKeys(«яндекс»);
 driver.findElement(By.cssSelector(«.home-arrow .button»)).click();
 WebElement searchResult = driver.findElements(By.cssSelector(«.serp-list .serp-item»)).get(0);
 assertThat(searchResult.getText(), containsString(«Яндекс»)); } @After public void quitDriver() { driver.quit(); }
  31. WebDriver driver; @Before public void getDriver() { driver = new

    FirefoxDriver(); } @Test public void shouldSeeYandexInFirstResult() { driver.get(«http://yandex.ru»); driver.findElement(By.cssSelector(«#text»)).sendKeys(«яндекс»);
 driver.findElement(By.cssSelector(«.home-arrow .button»)).click();
 WebElement searchResult = driver.findElements(By.cssSelector(«.serp-list .serp-item»)).get(0);
 assertThat(searchResult.getText(), containsString(«Яндекс»)); } @After public void quitDriver() { driver.quit(); } #new_text
  32. WebDriver driver; @Before public void getDriver() { driver = new

    FirefoxDriver(); } @Test public void shouldSeeYandexInFirstResult() { driver.get(«http://yandex.ru»); driver.findElement(By.cssSelector(«#text»)).sendKeys(«яндекс»);
 driver.findElement(By.cssSelector(«.home-arrow .button»)).click();
 WebElement searchResult = driver.findElements(By.cssSelector(«.serp-list .serp-item»)).get(0);
 assertThat(searchResult.getText(), containsString(«Яндекс»)); } @After public void quitDriver() { driver.quit(); } #new_text #new_new_text
  33. Страница public class MainPage {
 
 public MainPage(WebDriver driver) {


    PageFactory.initElements(driver, this);
 }
 
 @FindBy(id = "text")
 private TextInput requestInput;
 
 @FindBy(css = ".button")
 private Button searchButton;
 
 }
  34. Загромождение public class MainPage {
 
 public MainPage(WebDriver driver) {


    PageFactory.initElements(driver, this);
 }
 
 @FindBy(id = "text")
 private TextInput requestInput;
 
 @FindBy(css = ".button")
 private Button searchButton; @FindBy(css = ".button2")
 private Button button2; @FindBy(css = ".button3")
 private Button button3; @FindBy(css = ".button4")
 private Button button4; @FindBy(css = ".button5")
 private Button button5; @FindBy(css = ".button6")
 private Button button6; @FindBy(css = ".button7")
 private Button button7; @FindBy(css = ".button8")
 private Button button8; @FindBy(css = ".button9")
 private Button button9; @FindBy(css = ".button10")
 private Button button10; @FindBy(css = ".button11")
 private Button button11; @FindBy(css = ".button12")
 private Button button12;
 
 }
  35. Html Elements @Name("Стрелка поиска")
 @FindBy(css = ".home-arrow")
 public class SearchArrowBlock

    extends HtmlElement {
 
 @Name(«Строка поиска")
 @FindBy(id = "text")
 private TextInput requestInput;
 
 @Name(«Кнопка «Найти»»)
 @FindBy(css = ".button")
 private Button searchButton;
 
 public TextInput input() {
 return requestInput;
 }
 
 public Button button() {
 return searchButton;
 }
 }
  36. Страница public class MainPage {
 
 public MainPage(WebDriver driver) {


    PageFactory.initElements(new HtmlElementDecorator( new HtmlElementLocatorFactory(driver)), this);
 }
 
 @Name("Стрелка поиска")
 private SearchArrowBlock searchArrow;
 
 public SearchArrowBlock searchArrow() {
 return searchArrow;
 }
 
 }
  37. Новая Страница public class SearchPage {
 
 public SearchPage(WebDriver driver)

    {
 PageFactory.initElements(new HtmlElementDecorator( new HtmlElementLocatorFactory(driver)), this);
 }
 
 @Name("Стрелка поиска») @FindBy(css = «.search_arrow_on_search_page»)
 private SearchArrowBlock searchArrow;
 
 public SearchArrowBlock searchArrow() {
 return searchArrow;
 }
 
 }
  38. WebDriver driver; MainPage mainPage; SearchResultPage searchResult; @Before public void getDriver()

    { driver = new FirefoxDriver(); } @Test public void shouldSeeYandexInFirstResult() { driver.get(«http://yandex.ru»); mainPage = new MainPage(driver); mainPage.searchArrow().input().sendKeys(«яндекс»);
 mainPage.searchArrow().button().click();
 searchResult = new SearchResultPage(driver);
 assertThat(searchResult.resultList().get(0).getText(), containsString(«Яндекс»)); } @After public void quitDriver() { driver.quit(); }
  39. WebDriver driver; MainPage mainPage; SearchResultPage searchResult; @Before public void getDriver()

    { driver = new FirefoxDriver(); } @Test public void shouldSeeYandexInFirstResult() { driver.get(«http://yandex.ru»); mainPage = new MainPage(driver); mainPage.searchArrow().input().sendKeys(«яндекс»);
 mainPage.searchArrow().button().click();
 searchResult = new SearchResultPage(driver);
 assertThat(searchResult.resultList().get(0).getText(), containsString(«Яндекс»)); } @After public void quitDriver() { driver.quit(); }
  40. Шаги public class DefaultSteps {
 
 private WebDriver driver;
 


    public DefaultSteps(WebDriver driver) {
 this.driver = driver;
 }
 
 public void openMainPage() {
 driver.get("http://yandex.ru");
 }
 
 public void search(String text) throws IOException {
 onMainPage().searchArrow().requestInput().sendKeys(text);
 onMainPage().searchArrow().searchButton().click();
 }
 
 public void shouldSeeNotEmptySearchResult() {
 assertThat(searchResult.resultList().get(0).getText(), containsString(«Яндекс»));
 } private MainPage onMainPage() {
 return new MainPage(driver);
 } 
 private SearchResultPage onSearchPage() {
 return new SearchResultPage(driver); } }
  41. WebDriver driver; DefaultSteps defaultSteps; @Before public void getDriver() { driver

    = new FirefoxDriver(); defaultSteps = new DefaultSteps(driver); } @Test public void shouldSeeYandexInFirstResult() { defaultSteps.openMainPage();
 defaultSteps.search("яндекс");
 defaultSteps.shouldSeeYandexInFirstResult(); } @After public void quitDriver() { driver.quit(); }
  42. WebDriver driver; DefaultSteps defaultSteps; @Before public void getDriver() { driver

    = new FirefoxDriver(); defaultSteps = new DefaultSteps(driver); } @Test public void shouldSeeYandexInFirstResult() { defaultSteps.openMainPage();
 defaultSteps.search("яндекс");
 defaultSteps.shouldSeeYandexInFirstResult(); } @After public void quitDriver() { driver.quit(); }
  43. WebDriver driver; DefaultSteps defaultSteps; @Before public void getDriver() { driver

    = new FirefoxDriver(); defaultSteps = new DefaultSteps(driver); } @Test public void shouldSeeYandexInFirstResult() { defaultSteps.openMainPage();
 defaultSteps.search("яндекс");
 defaultSteps.shouldSeeYandexInFirstResult(); } @After public void quitDriver() { driver.quit(); } Сценарий
  44. WebDriver driver; DefaultSteps defaultSteps; @Before public void getDriver() { driver

    = new FirefoxDriver(); defaultSteps = new DefaultSteps(driver); } @Test public void shouldSeeYandexInFirstResult() { defaultSteps.openMainPage();
 defaultSteps.search("яндекс");
 defaultSteps.shouldSeeYandexInFirstResult(); } @After public void quitDriver() { driver.quit(); } Подготовка
  45. @Rule public class WebDriverRule extends ExternalResource {
 
 private WebDriver

    driver;
 
 protected void before() throws Throwable {
 this.driver = new FirefoxDriver();
 }
 
 protected void after() {
 driver.close();
 driver.quit();
 }
 
 public WebDriver getDriver() {
 return driver;
 }
 
 }
  46. Подготовка @Rule public WebDriverRule webDriverRule = new WebDriverRule(); @Before public

    void initSteps() { defaultSteps = new DefaultSteps(webDriverRule.getDriver()); } @Test public void shouldSeeYandexInFirstResult() { defaultSteps.openMainPage();
 defaultSteps.search("яндекс");
 defaultSteps.shouldSeeYandexInFirstResult(); }
  47. Бизнес логика @Rule public WebDriverRule webDriverRule = new WebDriverRule(); @Before

    public void initSteps() { defaultSteps = new DefaultSteps(webDriverRule.getDriver()); } @Test public void shouldSeeYandexInFirstResult() { defaultSteps.openMainPage();
 defaultSteps.search("яндекс");
 defaultSteps.shouldSeeYandexInFirstResult(); }
  48. Сценарий @Rule public WebDriverRule webDriverRule = new WebDriverRule(); @Before public

    void initSteps() { defaultSteps = new DefaultSteps(webDriverRule.getDriver()); } @Test public void shouldSeeYandexInFirstResult() { defaultSteps.openMainPage();
 defaultSteps.search("яндекс");
 defaultSteps.shouldSeeYandexInFirstResult(); }
  49. Сценарий DefaultSteps defaultSteps; @Rule public WebDriverRule webDriverRule = new WebDriverRule();

    @Before public void initSteps() { defaultSteps = new DefaultSteps(webDriverRule.getDriver()); } @Test public void shouldSeeYandexInFirstResult() { defaultSteps.openMainPage();
 defaultSteps.search("яндекс");
 defaultSteps.shouldSeeYandexInFirstResult(); }
  50. Шаги public class DefaultSteps {
 
 private WebDriver driver;
 


    public DefaultSteps(WebDriver driver) {
 this.driver = driver;
 }
 @Step(«Открываем гланую страницу»)
 public void openMainPage() {
 driver.get("http://yandex.ru");
 }
 @Step(«Ищем «{0}»»)
 public void search(String text) throws IOException {
 onMainPage().searchArrow().requestInput().sendKeys(text);
 onMainPage().searchArrow().searchButton().click();
 }
 @Step(«Первый результат должен содержать «Яндекс»»)
 public void shouldSeeNotEmptySearchResult() {
 assertThat(onSearchPage().resultList().get(0).getText(), containsString(«Яндекс»));
 } private MainPage onMainPage() {
 return new MainPage(driver);
 } 
 private SearchResultPage onSearchPage() {
 return new SearchResultPage(driver); } }
  51. Название теста DefaultSteps defaultSteps; @Rule public WebDriverRule webDriverRule = new

    WebDriverRule(); @Before public void initSteps() { defaultSteps = new DefaultSteps(webDriverRule.getDriver()); } @Test @Title(«Первый результат должен содержать Яндекс») public void shouldSeeYandexInFirstResult() { defaultSteps.openMainPage();
 defaultSteps.search("яндекс");
 defaultSteps.shouldSeeYandexInFirstResult(); }
  52. @Rule public TestWatcher screenshotOnFailure = new TestWatcher() {
 @Override
 protected

    void failed(Throwable e, Description description) {
 makeScreenshotOnFailure();
 }
 
 @Attachment("Screenshot on failure")
 public byte[] makeScreenshotOnFailure() {
 return ((TakesScreenshot) webDriverRule.getDriver()) .getScreenshotAs(OutputType.BYTES);
 }
 };
  53. Автотест WebDriver driver; @Before public void getDriver() { driver =

    new FirefoxDriver(); } @Test public void shouldSeeYandexInFirstResult() { driver.get(«http://yandex.ru»); driver.findElement(By.cssSelector(«#text»)).sendKeys(«яндекс»);
 driver.findElement(By.cssSelector(«.home-arrow .button»)).click();
 WebElement searchResult = driver.findElements(By.cssSelector(«.serp-list .serp-item»)).get(0);
 assertThat(searchResult.getText(), containsString(«Яндекс»)); } @After public void quitDriver() { driver.quit(); }
  54. Блоки страницы @Name("Стрелка поиска")
 @FindBy(css = ".home-arrow")
 public class SearchArrowBlock

    extends HtmlElement {
 
 @Name(«Строка поиска")
 @FindBy(id = "text")
 private TextInput requestInput;
 
 @Name(«Кнопка «Найти»»)
 @FindBy(css = ".button")
 private Button searchButton;
 
 public TextInput input() {
 return requestInput;
 }
 
 public Button button() {
 return searchButton;
 }
 }
  55. Шаги public class DefaultSteps {
 
 private WebDriver driver;
 


    public DefaultSteps(WebDriver driver) {
 this.driver = driver;
 }
 @Step(«Открываем гланую страницу»)
 public void openMainPage() {
 driver.get("http://yandex.ru");
 }
 @Step(«Ищем «{0}»»)
 public void search(String text) throws IOException {
 onMainPage().searchArrow().requestInput().sendKeys(text);
 onMainPage().searchArrow().searchButton().click();
 }
 @Step(«Первый результат должен содержать «Яндекс»»)
 public void shouldSeeNotEmptySearchResult() {
 assertThat(onSearchPage().resultList().get(0).getText(), containsString(«Яндекс»));
 } private MainPage onMainPage() {
 return new MainPage(driver);
 } 
 private SearchResultPage onSearchPage() {
 return new SearchResultPage(driver); } }
  56. Хороший автотест DefaultSteps defaultSteps; @Rule public WebDriverRule webDriverRule = new

    WebDriverRule(); @Before public void initSteps() { defaultSteps = new DefaultSteps(webDriverRule.getDriver()); } @Test @Title(«Первый результат должен содержать Яндекс») public void shouldSeeYandexInFirstResult() { defaultSteps.openMainPage();
 defaultSteps.search("яндекс");
 defaultSteps.shouldSeeYandexInFirstResult(); }