2016-01-20 1 views
2

Как определить или идентифицировать элемент с помощью типа id, class и т. Д. Кроме того, BY является абстрактным классом. Как мы создаем для него объект, если это возможно? Мы знаем, что мы не можем создавать объект непосредственно для абстрактного, не реализуя его другим классом. Я хотел бы знать, сценарий за ним, прежде чем мы непосредственно, используя в наших сценарияхКак использовать механизм «By» для поиска элементов в селене

общественных абстрактного класса К расширяет java.lang.Object

Я прошел через ссылку «https://selenium.googlecode.com/git/docs/api/java/org/openqa/selenium/By.html»

+0

ваш ответ [здесь] (http://stackoverflow.com/questions/17407203/can-we-use-static-method-in-an-abstract-class). Для этого вам нужно понять концепцию абстрактного класса. –

ответ

1

I также требовали такой же функциональности, но вместо создания объекта я реализовал по функциональности, используя код ниже. В основном используется метод findElement. Чтобы найти элементы.

String xPath = "xpath=//*[@text='some text']"; 
//String xPath = "name='some text'"; 
//String xPath = "id=xxxx"; 

driver.findElement(getBy(xPath)); 

private By getBy(String locator) { 
    String[] parts = locator.split("=", 2); 
    By by = null; 
    switch (parts[0].trim()) { 
    case "xpath": 
     by = By.xpath(parts[1]); 
     break; 
    case "name": 
     by = By.name(parts[1]); 
     break; 
    case "link": 
     by = By.linkText(parts[1]); 
     break; 
    case "id": 
     by = By.id(parts[1]); 
     break; 
    case "css": 
     by = By.cssSelector(parts[1]); 
     break; 
    default: 
     throw new RuntimeException("invalid locator"); 
    } 
    return by; 
} 

Надеюсь, это вам поможет.

+0

Спасибо за ваш ответ. Это поможет мне разобраться в этом. –

+0

@RameshUppuluri По крайней мере, выберите один правильный ответ, если он есть. Рад помочь. –

0

Вам не нужно понимать реализацию селена. Вам просто нужно знать, как его использовать.

Если у вас есть автозаполнение в вашей IDE и введите By. вы увидите много статических методов, определенных в этом классе By.

Вот example

+0

Спасибо за ваше предложение. Да, я согласен с вами. Но что касается интервью, мы должны знать об этом и из него. :П –