Thursday, January 17, 2019

All are used to mark a field in a page object.
@FindBy: It is an alternative mechanism for locating the element or a list of elements. Used in conjunction with PageFactory this allows users to quickly and easily create PageObjects. (api link)
Example:
    For example, these two annotations point to the same element:
    Syntax 1:        @FindBy(id = "foobar")
                              WebElement foobar;
                              @FindBy(how = How.ID, using = "foobar")  // How is an enum, ID is an Enum constant
                              WebElement foobar;
and these two annotations point to the same list of elements:
    Syntax 2:          @FindBy(tagName = "a")
                               List<WebElement> links;
                               @FindBy(how = How.TAG_NAME, using = "a")
                               List<WebElement> links;
Note: Alternative way of @FindBys: driver.findElements(new ByChained(by1,by2)); (where by1 -> By by1=By.id("");, by2 -> By by2=By.id("");)
@FindBys: Find for all DOM elements that matches each of the locators in sequence.(api link)
Example:
        @FindBys({@FindBy(id = "foo"),
              @FindBy(className = "bar")})
         private List<WebElement> list;
@FindAll: Search for all elements that match any of the FindBy criteria. (api link)
Example:
        @FindAll({@FindBy(id = "foo"),
              @FindBy(className = "bar")})
private List<WebElement> list;

@CacheLookup: as the name suggests helps us control when to cache a WebElement and when not to. This annotation when applied over a WebElement instructs Selenium to keep a cache of the WebElement instead of searching for the WebElement every time from the WebPage. This helps us save a lot of time. (api link)
Example:
        @CacheLookup
@FindBy(how=How.ID, using="foo")
private WebElement element;

Hope this Helps!!!

Related Posts:

  • Retrieve Test Data from an Excel file with Apache POI A Java Program to retrieve the data from an excel file?   Below is the code to read .xlsx file.                                XSSFWorkbo… Read More
  • What is Manual Testing and its Advantages, Limitations Manual testing is a testing process that is carried out manually(executing test cases) in order to find defects without the usage of tools or automation scripting. It is the most primitive of all testing types and… Read More
  • Introduction to Test Automation What is Test Automation: Test Automation or Automation Testing is a method of automating execution of tests and then  compares actual test results with predicted or expected results using special softwar… Read More
  • ArrayList vs LinkedList Difference between ArrayList and LinkedList? Similarities: Both implements List interface(linkedlist also implements deque interface), maintains insertion order and can contain duplicate elements. Both are non synchroni… Read More
  • Encapsulation in Java Encapsulation is to make sure that "sensitive" data is hidden from users. To achieve this, you must: declare class variables/attributes as private (only accessible within the same class) provide public setter and getter m… Read More

0 comments:

Post a Comment

Selenium Training in Realtime

Blog helps to a student or IT employee to develop or improve skills in Software Testing.

Followers

About Me

My photo
Hyderabad, Andhra Pradesh, India
I am Automation Testing Professional. I have completed my graduation in B.Tech (Computers) from JNTU Hyderabad and started my career in Software Testing accidentally since then, I passionate on learning new technologies

Contact Form

Name

Email *

Message *

Popular Posts