Хочу поднять тему качества вопросов.
В основном мониторю раздел WebDriver, потом примеры буду приводить на его основе.
Многие, наверное, заметили, что часто попадаются вопросы формата:
«Почему я не могу кликнуть по элементу в WebDriver?».
И половина обсуждения треда сводится к вытягиванию с помощью паяльника дополнительной информации с вопрошающего.
Хочу привести пример правильного, на мой скромный взгляд, вопроса:
Работаю с Selenium WebDriver, Chromedriver, язык тестов Ruby.
Есть пример страницы http://example.com, где мне необходимо кликнуть по элементуid="foo"
.
Тест падает на строке поиска этого элемента.
Пример теста:2.0.0p195 :009 > require 'selenium-webdriver' => true 2.0.0p195 :010 > driver = Selenium::WebDriver.for :chrome => #<Selenium::WebDriver::Driver:0x..f8a701ed045b6bfac browser=:chrome> 2.0.0p195 :011 > driver.find_element :id, 'foo'
Получаю ошибку.
Selenium::WebDriver::Error::NoSuchElementError: no such element (Session info: chrome=31.0.1650.57) (Driver info: chromedriver=2.4.226086,platform=Mac OS X 10.9.0 x86_64) from /Users/TIT/.rvm/gems/ruby-2.0.0-p195/gems/selenium-webdriver-2.37.0/lib/selenium/webdriver/remote/response.rb:51:in `assert_ok' from /Users/TIT/.rvm/gems/ruby-2.0.0-p195/gems/selenium-webdriver-2.37.0/lib/selenium/webdriver/remote/response.rb:15:in `initialize' from /Users/TIT/.rvm/gems/ruby-2.0.0-p195/gems/selenium-webdriver-2.37.0/lib/selenium/webdriver/remote/http/common.rb:59:in `new' from /Users/TIT/.rvm/gems/ruby-2.0.0-p195/gems/selenium-webdriver-2.37.0/lib/selenium/webdriver/remote/http/common.rb:59:in `create_response' from /Users/TIT/.rvm/gems/ruby-2.0.0-p195/gems/selenium-webdriver-2.37.0/lib/selenium/webdriver/remote/http/default.rb:66:in `request' from /Users/TIT/.rvm/gems/ruby-2.0.0-p195/gems/selenium-webdriver-2.37.0/lib/selenium/webdriver/remote/http/common.rb:40:in `call' from /Users/TIT/.rvm/gems/ruby-2.0.0-p195/gems/selenium-webdriver-2.37.0/lib/selenium/webdriver/remote/bridge.rb:634:in `raw_execute' from /Users/TIT/.rvm/gems/ruby-2.0.0-p195/gems/selenium-webdriver-2.37.0/lib/selenium/webdriver/remote/bridge.rb:612:in `execute' from /Users/TIT/.rvm/gems/ruby-2.0.0-p195/gems/selenium-webdriver-2.37.0/lib/selenium/webdriver/remote/bridge.rb:580:in `find_element_by' from /Users/TIT/.rvm/gems/ruby-2.0.0-p195/gems/selenium-webdriver-2.37.0/lib/selenium/webdriver/common/search_context.rb:42:in `find_element' from (irb):11 from /Users/TIT/.rvm/rubies/ruby-2.0.0-p195/bin/irb:16:in `<main>'
К чему я это?
Пожалуйста, прежде, чем создать тему один раз, которую будут читать сотни людей много раз, потрудитесь описать как можно больше подробностей, создайте примеры страниц, кода и т. д.