создайте post запрос с помощью полтергейста и капибары
Я перехожу от капибары, поддерживаемой драйвером стойки по умолчанию, к капибаре, поддерживаемой полтергейстом.
По неприятным причинам мне нужно манипулировать данными сеанса перед загрузкой страницы. Но я не мог понять, как управлять сеансом непосредственно с помощью драйвера стойки, поэтому я
Capybara.current_session.driver.submit :post, "/current_search", {:session => :data }
К сожалению, объект Poltergeist driver
не имеет метода submit
, как это было с драйвером стойки.
Есть три возможности:
- Как отправить сообщение запрос с помощью poltergeist / phantomjs? (реализовать это кажется проще всего)
- Как я могу манипулировать данными сеанса непосредственно с помощью poltergeist / phantomjs?
- я могу реструктурировать код так, чтобы больше не было необходимости напрямую манипулировать данными сеанса. Это отнимет много времени и будет иметь низкий приоритет.
1 ответ:
Идея capybara заключается в том, чтобы протестировать взаимодействие с пользователем, поэтому вы можете сделать запрос POST таким же образом, как это сделал бы пользователь.
В вашем случае это будет что-то вроде:
Есть ли какая-то причина не делать этого таким образом?visit '/search' fill_in '.search-box', :with => "search query" click_on "Submit"