mirror of
https://github.com/thoughtbot/capybara-webkit
synced 2023-03-27 23:22:28 -04:00
Update README
* Remove deprecated modal and window commands. * Document xvfb-run as a way to start an X server. * Note that Qt versions greater than 4.8 are supported. * Update copyright year.
This commit is contained in:
parent
99f4a88f2f
commit
d7f724d315
1 changed files with 9 additions and 118 deletions
127
README.md
127
README.md
|
@ -14,7 +14,7 @@ development toolkit. You'll need to download the Qt libraries to build and
|
||||||
install the gem. You can find instructions for downloading and installing QT on
|
install the gem. You can find instructions for downloading and installing QT on
|
||||||
the
|
the
|
||||||
[capybara-webkit wiki](https://github.com/thoughtbot/capybara-webkit/wiki/Installing-Qt-and-compiling-capybara-webkit).
|
[capybara-webkit wiki](https://github.com/thoughtbot/capybara-webkit/wiki/Installing-Qt-and-compiling-capybara-webkit).
|
||||||
capybara-webkit requires Qt version 4.8.
|
capybara-webkit requires Qt version 4.8 or greater.
|
||||||
|
|
||||||
Windows Support
|
Windows Support
|
||||||
---------------
|
---------------
|
||||||
|
@ -47,7 +47,13 @@ CI
|
||||||
|
|
||||||
If you're like us, you'll be using capybara-webkit on CI.
|
If you're like us, you'll be using capybara-webkit on CI.
|
||||||
|
|
||||||
On Linux platforms, capybara-webkit requires an X server to run, although it doesn't create any visible windows. Xvfb works fine for this. You can setup Xvfb yourself and set a DISPLAY variable, or try out the [headless gem](https://github.com/leonid-shevtsov/headless).
|
On Linux platforms, capybara-webkit requires an X server to run, although it doesn't create any visible windows. Xvfb works fine for this. You can setup Xvfb yourself and set a DISPLAY variable, try out the [headless gem](https://github.com/leonid-shevtsov/headless), or use the xvfb-run utility as follows:
|
||||||
|
|
||||||
|
```
|
||||||
|
xvfb-run -a bundle exec spec
|
||||||
|
```
|
||||||
|
|
||||||
|
This automatically sets up a virtual X server on a free server number.
|
||||||
|
|
||||||
Usage
|
Usage
|
||||||
-----
|
-----
|
||||||
|
@ -101,33 +107,6 @@ page.driver.error_messages
|
||||||
=> [{:source=>"http://example.com", :line_number=>1, :message=>"SyntaxError: Parse error"}]
|
=> [{:source=>"http://example.com", :line_number=>1, :message=>"SyntaxError: Parse error"}]
|
||||||
```
|
```
|
||||||
|
|
||||||
**alert_messages, confirm_messages, prompt_messages**: returns arrays of Javascript dialog messages for each dialog type
|
|
||||||
|
|
||||||
```js
|
|
||||||
// In Javascript:
|
|
||||||
alert("HI");
|
|
||||||
confirm("Ok?");
|
|
||||||
prompt("Number?", "42");
|
|
||||||
```
|
|
||||||
|
|
||||||
```ruby
|
|
||||||
# In Ruby:
|
|
||||||
page.driver.alert_messages
|
|
||||||
=> ["Hi"]
|
|
||||||
page.driver.confirm_messages
|
|
||||||
=> ["Ok?"]
|
|
||||||
page.driver.prompt_messages
|
|
||||||
=> ["Number?"]
|
|
||||||
```
|
|
||||||
|
|
||||||
**resize_window**: change the viewport size to the given width and height
|
|
||||||
|
|
||||||
```ruby
|
|
||||||
page.driver.resize_window(500, 300)
|
|
||||||
page.driver.evaluate_script("window.innerWidth")
|
|
||||||
=> 500
|
|
||||||
```
|
|
||||||
|
|
||||||
**cookies**: allows read-only access of cookies for the current session
|
**cookies**: allows read-only access of cookies for the current session
|
||||||
|
|
||||||
```ruby
|
```ruby
|
||||||
|
@ -135,94 +114,6 @@ page.driver.cookies["alpha"]
|
||||||
=> "abc"
|
=> "abc"
|
||||||
```
|
```
|
||||||
|
|
||||||
**accept_js_confirms!**: accept any Javascript confirm that is triggered by the page's Javascript
|
|
||||||
|
|
||||||
```js
|
|
||||||
// In Javascript:
|
|
||||||
if (confirm("Ok?"))
|
|
||||||
console.log("Hi");
|
|
||||||
else
|
|
||||||
console.log("Bye");
|
|
||||||
```
|
|
||||||
|
|
||||||
```ruby
|
|
||||||
# In Ruby:
|
|
||||||
page.driver.accept_js_confirms!
|
|
||||||
visit "/"
|
|
||||||
page.driver.console_messages.first[:message]
|
|
||||||
=> "Hi"
|
|
||||||
```
|
|
||||||
|
|
||||||
**dismiss_js_confirms!**: dismiss any Javascript confirm that is triggered by the page's Javascript
|
|
||||||
|
|
||||||
```js
|
|
||||||
// In Javascript:
|
|
||||||
if (confirm("Ok?"))
|
|
||||||
console.log("Hi");
|
|
||||||
else
|
|
||||||
console.log("Bye");
|
|
||||||
```
|
|
||||||
|
|
||||||
```ruby
|
|
||||||
# In Ruby:
|
|
||||||
page.driver.dismiss_js_confirms!
|
|
||||||
visit "/"
|
|
||||||
page.driver.console_messages.first[:message]
|
|
||||||
=> "Bye"
|
|
||||||
```
|
|
||||||
|
|
||||||
**accept_js_prompts!**: accept any Javascript prompt that is triggered by the page's Javascript
|
|
||||||
|
|
||||||
```js
|
|
||||||
// In Javascript:
|
|
||||||
var a = prompt("Number?", "0")
|
|
||||||
console.log(a);
|
|
||||||
```
|
|
||||||
|
|
||||||
```ruby
|
|
||||||
# In Ruby:
|
|
||||||
page.driver.accept_js_prompts!
|
|
||||||
visit "/"
|
|
||||||
page.driver.console_messages.first[:message]
|
|
||||||
=> "0"
|
|
||||||
```
|
|
||||||
|
|
||||||
**dismiss_js_prompts!**: dismiss any Javascript prompt that is triggered by the page's Javascript
|
|
||||||
|
|
||||||
```js
|
|
||||||
// In Javascript:
|
|
||||||
var a = prompt("Number?", "0")
|
|
||||||
if (a != null)
|
|
||||||
console.log(a);
|
|
||||||
else
|
|
||||||
console.log("you said no"));
|
|
||||||
```
|
|
||||||
|
|
||||||
```ruby
|
|
||||||
# In Ruby:
|
|
||||||
page.driver.dismiss_js_prompts!
|
|
||||||
visit "/"
|
|
||||||
page.driver.console_messages.first[:message]
|
|
||||||
=> "you said no"
|
|
||||||
```
|
|
||||||
|
|
||||||
**js_prompt_input=(value)**: set the text to use if a Javascript prompt is encountered and accepted
|
|
||||||
|
|
||||||
```js
|
|
||||||
// In Javascript:
|
|
||||||
var a = prompt("Number?", "0")
|
|
||||||
console.log(a);
|
|
||||||
```
|
|
||||||
|
|
||||||
```ruby
|
|
||||||
# In Ruby:
|
|
||||||
page.driver.js_prompt_input = "42"
|
|
||||||
page.driver.accept_js_prompts!
|
|
||||||
visit "/"
|
|
||||||
page.driver.console_messages.first[:message]
|
|
||||||
=> "42"
|
|
||||||
```
|
|
||||||
|
|
||||||
**header**: set the given HTTP header for subsequent requests
|
**header**: set the given HTTP header for subsequent requests
|
||||||
|
|
||||||
```ruby
|
```ruby
|
||||||
|
@ -248,4 +139,4 @@ The names and logos for thoughtbot are trademarks of thoughtbot, inc.
|
||||||
License
|
License
|
||||||
-------
|
-------
|
||||||
|
|
||||||
capybara-webkit is Copyright (c) 2010-2013 thoughtbot, inc. It is free software, and may be redistributed under the terms specified in the LICENSE file.
|
capybara-webkit is Copyright (c) 2010-2014 thoughtbot, inc. It is free software, and may be redistributed under the terms specified in the LICENSE file.
|
||||||
|
|
Loading…
Add table
Reference in a new issue