2016-08-05 2 views
-2

Я использую Selenium для написания некоторых автоматических тестов для моей среды. В настоящее время я объявляю переменные IWebElement, которые ссылаются на веб-элемент с помощью XPath. Было бы более эффективной и лучшей практикой просто вызвать функции click/clear/send key из WebDriver?Selenium - объявление переменных IWebElement и вызывающих функций от драйвера

Текущий метод:

firefox = new FirefoxDriver(); 
IWebElement elem = firefox.FindElement(By.Xpath("//input[@type='text'])); 
elem.sendKeys("Hello StackOverflow!"); 

Альтернатива:

firefox = new firefoxDriver(); 
firefox.FindElement(By.Xpath("//input[@type='text'])).sendKeys("Hello Stackoverflow!"); 

Я был бы признателен за любые советы и комментарии, спасибо.

+0

Это абсолютно то же самое –

ответ

0

«было бы более эффективным и лучше практика только для вызова нажмите/прозрачный/отправить ключевые функции из WebDriver»

Вы не вызывающему его от WebDriver. Вы используете RemoteWebElement: IWebElement в обоих образцах. Так что это совершенно то же самое. Разница только в читаемости.

+0

... хорошо читаемость и нужна ли вам/нужна переменная, хранящая элемент. Если вы собираетесь использовать его снова, вы должны сохранить его в переменной для последующего использования. Если вам не нужно использовать его снова, нет смысла хранить его в переменной. – JeffC

+0

Это ничего не имеет значения. После выхода из области видимости этот метод GC выберет эти объекты (маленькие обертки, на самом деле имеющие только 2 опорных поля), если это необходимо. Вопрос заключался в разнице в том, чтобы назвать это. –

+0

Я не соглашался с вашим ответом, я просто добавлял комментарий о том, как я определяю, когда создавать переменную, а просто использовать однострочный. – JeffC

Смежные вопросы