spreewald 2.6.0 → 2.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +3 -1
- data/README.md +12 -0
- data/lib/spreewald/session_steps.rb +18 -0
- data/lib/spreewald_support/version.rb +1 -1
- data/tests/rails-3_capybara-1/Gemfile.lock +1 -1
- data/tests/rails-3_capybara-2/Gemfile.lock +1 -1
- data/tests/rails-4_capybara-3/Gemfile.lock +1 -1
- data/tests/rails-4_capybara-3/features/browser_tab_steps.feature +1 -0
- data/tests/rails-4_capybara-3/features/session_steps.feature +1 -0
- data/tests/rails-6_capybara-3/Gemfile.lock +1 -1
- data/tests/rails-6_capybara-3/features/browser_tab_steps.feature +1 -0
- data/tests/rails-6_capybara-3/features/session_steps.feature +1 -0
- data/tests/shared/app/views/static_pages/session_1.haml +1 -0
- data/tests/shared/app/views/static_pages/session_2.haml +1 -0
- data/tests/shared/app/views/static_pages/session_3.haml +1 -0
- data/tests/shared/config/routes.rb +3 -0
- data/tests/shared/features/shared/session_steps.feature +29 -0
- metadata +18 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 02a43b32f16090f64a87cea6adc814baaceb590ef8388863224620f782565e25
|
4
|
+
data.tar.gz: d474b73278a9b3c309c0898e83e1238715012f38cce70e3d8d13d77f9bcd8680
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c8c2ca98760710ddbda7a2aca39ec3208a1a01ab57e842a448dd14d5b3ba969834d6dc08638440e6979140f2fa22ef2ee152276ae2ae19363ef7294cad213cf5
|
7
|
+
data.tar.gz: 9eea3e603ab1e9cb5d3346c948f09ee3b8c4bbfdd811b76eef3a0fc778c3015c48a85f97c31d6be8833f94e22d2d4ed159ab374b1aa345f51ffeba7d0f5fa23e
|
data/CHANGELOG.md
CHANGED
@@ -3,11 +3,13 @@ All notable changes to this project will be documented in this file.
|
|
3
3
|
|
4
4
|
This project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
|
5
5
|
|
6
|
+
## 2.7.0
|
7
|
+
- Add a step modifier to control different Capybara sessions: `... in the browser session "..."`. (see issue [#66](https://github.com/makandra/spreewald/issues/66))
|
8
|
+
|
6
9
|
## 2.6.0
|
7
10
|
- The time steps do now work with the time helpers in ActiveSupport 4.1+ if the timecop gem is not included in the bundle. Please note that the two approaches branch. While ActiveSupport will freeze the time, Timecop will keep it running.
|
8
11
|
- The steps in the file `spreewald/timecop.rb` file were moved to `spreewald/time.rb` and importing `spreewald/timecop` directly is deprecated now.
|
9
12
|
|
10
|
-
|
11
13
|
## 2.5.0
|
12
14
|
- Add a set of steps to control browser tabs (Selenium only):
|
13
15
|
* `I open ... in a new browser tab`
|
data/README.md
CHANGED
@@ -286,6 +286,18 @@ the step definitions.
|
|
286
286
|
This step is deprecated and will be removed from spreewald. If you still want to use it, copy the code to your project's own steps.
|
287
287
|
|
288
288
|
|
289
|
+
### session_steps.rb
|
290
|
+
|
291
|
+
* **When ... in the browser session "..."**
|
292
|
+
|
293
|
+
You can append `in the browser session "name"` to any other step to execute
|
294
|
+
the step in a different browser session.
|
295
|
+
|
296
|
+
You may need to update other steps to allow multiple sessions (e.g. your
|
297
|
+
authentication steps have to support multiple logged in users).
|
298
|
+
More details [here](https://makandracards.com/makandra/474480-how-to-make-a-cucumber-test-work-with-multiple-browser-sessions).
|
299
|
+
|
300
|
+
|
289
301
|
### table_steps.rb
|
290
302
|
|
291
303
|
* **Then I should( not)? see a table with (exactly )?the following rows( in any order)?:?**
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# You can append `in the browser session "name"` to any other step to execute
|
2
|
+
# the step in a different browser session.
|
3
|
+
#
|
4
|
+
# You may need to update other steps to allow multiple sessions (e.g. your
|
5
|
+
# authentication steps have to support multiple logged in users).
|
6
|
+
# More details [here](https://makandracards.com/makandra/474480-how-to-make-a-cucumber-test-work-with-multiple-browser-sessions).
|
7
|
+
When /^(.*) in the browser session "([^"]+)"$/ do |nested_step, session_name|
|
8
|
+
Capybara.using_session(session_name) do
|
9
|
+
step(nested_step)
|
10
|
+
end
|
11
|
+
end.overridable(priority: 5)
|
12
|
+
|
13
|
+
# nodoc
|
14
|
+
When /^(.*) in the browser session "([^"]+)":$/ do |nested_step, session_name, table_or_string|
|
15
|
+
Capybara.using_session(session_name) do
|
16
|
+
step("#{nested_step}:", table_or_string)
|
17
|
+
end
|
18
|
+
end.overridable(priority: 5)
|
@@ -0,0 +1 @@
|
|
1
|
+
../../shared/features/shared/browser_tab_steps.feature
|
@@ -0,0 +1 @@
|
|
1
|
+
../../shared/features/shared/session_steps.feature
|
@@ -0,0 +1 @@
|
|
1
|
+
../../shared/features/shared/browser_tab_steps.feature
|
@@ -0,0 +1 @@
|
|
1
|
+
../../shared/features/shared/session_steps.feature
|
@@ -0,0 +1 @@
|
|
1
|
+
%h1 First capybara session
|
@@ -0,0 +1 @@
|
|
1
|
+
%h1 Second capybara session
|
@@ -0,0 +1 @@
|
|
1
|
+
%h1 Third capybara session
|
@@ -25,6 +25,9 @@ Rails.application.routes.draw do
|
|
25
25
|
get '/static_pages/overridden', to: 'static_pages#overridden'
|
26
26
|
get '/static_pages/second_link_target', to: 'static_pages#second_link_target'
|
27
27
|
get '/static_pages/see_element', to: 'static_pages#see_element'
|
28
|
+
get '/static_pages/session_1', to: 'static_pages#session_1'
|
29
|
+
get '/static_pages/session_2', to: 'static_pages#session_2'
|
30
|
+
get '/static_pages/session_3', to: 'static_pages#session_3'
|
28
31
|
get '/static_pages/tab_1', to: 'static_pages#tab_1'
|
29
32
|
get '/static_pages/tab_2', to: 'static_pages#tab_2'
|
30
33
|
get '/static_pages/tab_3', to: 'static_pages#tab_3'
|
@@ -0,0 +1,29 @@
|
|
1
|
+
Feature: Browser session steps
|
2
|
+
|
3
|
+
Scenario: Browser sessions do not interfere with each other
|
4
|
+
Given I go to "/static_pages/session_1"
|
5
|
+
Then I should see "First capybara session"
|
6
|
+
|
7
|
+
When I go to "/static_pages/session_2" in the browser session "second"
|
8
|
+
And I go to "/static_pages/session_3" in the browser session "third"
|
9
|
+
|
10
|
+
# Different pages can be accessed on different browser sessions
|
11
|
+
Then I should see "Second capybara session" in the browser session "second"
|
12
|
+
And I should see "Third capybara session" in the browser session "third"
|
13
|
+
|
14
|
+
# The default session is not affected by actions in other sessions
|
15
|
+
But I should not see "Second capybara session"
|
16
|
+
|
17
|
+
# Other sessions are not affected by the main session
|
18
|
+
And I should not see "First capybara session" in the browser session "second"
|
19
|
+
|
20
|
+
# Other sessions are not affected by each other
|
21
|
+
And I should not see "Third capybara session" in the browser session "second"
|
22
|
+
|
23
|
+
|
24
|
+
Scenario: Steps with table arguments work in different browser sessions
|
25
|
+
When I go to "/tables/table1" in the browser session "tables"
|
26
|
+
Then I should see a table with the following rows in the browser session "tables":
|
27
|
+
| 1-1 | 1-2 | 1-3 |
|
28
|
+
| 2-1 | 2-2 | 2-3 |
|
29
|
+
| 3-1 | 3-2 | 3-3 |
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: spreewald
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tobias Kraze
|
@@ -158,6 +158,7 @@ files:
|
|
158
158
|
- lib/spreewald/development_steps.rb
|
159
159
|
- lib/spreewald/email_steps.rb
|
160
160
|
- lib/spreewald/file_attachment_steps.rb
|
161
|
+
- lib/spreewald/session_steps.rb
|
161
162
|
- lib/spreewald/table_steps.rb
|
162
163
|
- lib/spreewald/time_steps.rb
|
163
164
|
- lib/spreewald/timecop_steps.rb
|
@@ -250,9 +251,11 @@ files:
|
|
250
251
|
- tests/rails-4_capybara-3/config/routes.rb
|
251
252
|
- tests/rails-4_capybara-3/config/secrets.yml
|
252
253
|
- tests/rails-4_capybara-3/db
|
254
|
+
- tests/rails-4_capybara-3/features/browser_tab_steps.feature
|
253
255
|
- tests/rails-4_capybara-3/features/development_steps.feature
|
254
256
|
- tests/rails-4_capybara-3/features/email_steps.feature
|
255
257
|
- tests/rails-4_capybara-3/features/overriding.feature
|
258
|
+
- tests/rails-4_capybara-3/features/session_steps.feature
|
256
259
|
- tests/rails-4_capybara-3/features/step_definitions/overriding_steps.rb
|
257
260
|
- tests/rails-4_capybara-3/features/step_definitions/test_steps.rb
|
258
261
|
- tests/rails-4_capybara-3/features/support/env.rb
|
@@ -303,9 +306,11 @@ files:
|
|
303
306
|
- tests/rails-6_capybara-3/config/locales/en.yml
|
304
307
|
- tests/rails-6_capybara-3/config/routes.rb
|
305
308
|
- tests/rails-6_capybara-3/db
|
309
|
+
- tests/rails-6_capybara-3/features/browser_tab_steps.feature
|
306
310
|
- tests/rails-6_capybara-3/features/development_steps.feature
|
307
311
|
- tests/rails-6_capybara-3/features/email_steps.feature
|
308
312
|
- tests/rails-6_capybara-3/features/overriding.feature
|
313
|
+
- tests/rails-6_capybara-3/features/session_steps.feature
|
309
314
|
- tests/rails-6_capybara-3/features/step_definitions/.gitkeep
|
310
315
|
- tests/rails-6_capybara-3/features/step_definitions/overriding_steps.rb
|
311
316
|
- tests/rails-6_capybara-3/features/step_definitions/test_steps.rb
|
@@ -353,6 +358,9 @@ files:
|
|
353
358
|
- tests/shared/app/views/static_pages/numbers.html.haml
|
354
359
|
- tests/shared/app/views/static_pages/overridden.html.haml
|
355
360
|
- tests/shared/app/views/static_pages/see_element.html.haml
|
361
|
+
- tests/shared/app/views/static_pages/session_1.haml
|
362
|
+
- tests/shared/app/views/static_pages/session_2.haml
|
363
|
+
- tests/shared/app/views/static_pages/session_3.haml
|
356
364
|
- tests/shared/app/views/static_pages/tab_1.haml
|
357
365
|
- tests/shared/app/views/static_pages/tab_2.haml
|
358
366
|
- tests/shared/app/views/static_pages/tab_3.haml
|
@@ -371,6 +379,7 @@ files:
|
|
371
379
|
- tests/shared/features/shared/development_steps.feature
|
372
380
|
- tests/shared/features/shared/email_steps.feature
|
373
381
|
- tests/shared/features/shared/overriding.feature
|
382
|
+
- tests/shared/features/shared/session_steps.feature
|
374
383
|
- tests/shared/features/shared/step_definitions/overriding_steps.rb
|
375
384
|
- tests/shared/features/shared/step_definitions/test_steps.rb
|
376
385
|
- tests/shared/features/shared/table_steps.feature
|
@@ -473,9 +482,11 @@ test_files:
|
|
473
482
|
- tests/rails-4_capybara-3/config/routes.rb
|
474
483
|
- tests/rails-4_capybara-3/config/secrets.yml
|
475
484
|
- tests/rails-4_capybara-3/db
|
485
|
+
- tests/rails-4_capybara-3/features/browser_tab_steps.feature
|
476
486
|
- tests/rails-4_capybara-3/features/development_steps.feature
|
477
487
|
- tests/rails-4_capybara-3/features/email_steps.feature
|
478
488
|
- tests/rails-4_capybara-3/features/overriding.feature
|
489
|
+
- tests/rails-4_capybara-3/features/session_steps.feature
|
479
490
|
- tests/rails-4_capybara-3/features/step_definitions/overriding_steps.rb
|
480
491
|
- tests/rails-4_capybara-3/features/step_definitions/test_steps.rb
|
481
492
|
- tests/rails-4_capybara-3/features/support/env.rb
|
@@ -526,9 +537,11 @@ test_files:
|
|
526
537
|
- tests/rails-6_capybara-3/config/locales/en.yml
|
527
538
|
- tests/rails-6_capybara-3/config/routes.rb
|
528
539
|
- tests/rails-6_capybara-3/db
|
540
|
+
- tests/rails-6_capybara-3/features/browser_tab_steps.feature
|
529
541
|
- tests/rails-6_capybara-3/features/development_steps.feature
|
530
542
|
- tests/rails-6_capybara-3/features/email_steps.feature
|
531
543
|
- tests/rails-6_capybara-3/features/overriding.feature
|
544
|
+
- tests/rails-6_capybara-3/features/session_steps.feature
|
532
545
|
- tests/rails-6_capybara-3/features/step_definitions/.gitkeep
|
533
546
|
- tests/rails-6_capybara-3/features/step_definitions/overriding_steps.rb
|
534
547
|
- tests/rails-6_capybara-3/features/step_definitions/test_steps.rb
|
@@ -576,6 +589,9 @@ test_files:
|
|
576
589
|
- tests/shared/app/views/static_pages/numbers.html.haml
|
577
590
|
- tests/shared/app/views/static_pages/overridden.html.haml
|
578
591
|
- tests/shared/app/views/static_pages/see_element.html.haml
|
592
|
+
- tests/shared/app/views/static_pages/session_1.haml
|
593
|
+
- tests/shared/app/views/static_pages/session_2.haml
|
594
|
+
- tests/shared/app/views/static_pages/session_3.haml
|
579
595
|
- tests/shared/app/views/static_pages/tab_1.haml
|
580
596
|
- tests/shared/app/views/static_pages/tab_2.haml
|
581
597
|
- tests/shared/app/views/static_pages/tab_3.haml
|
@@ -594,6 +610,7 @@ test_files:
|
|
594
610
|
- tests/shared/features/shared/development_steps.feature
|
595
611
|
- tests/shared/features/shared/email_steps.feature
|
596
612
|
- tests/shared/features/shared/overriding.feature
|
613
|
+
- tests/shared/features/shared/session_steps.feature
|
597
614
|
- tests/shared/features/shared/step_definitions/overriding_steps.rb
|
598
615
|
- tests/shared/features/shared/step_definitions/test_steps.rb
|
599
616
|
- tests/shared/features/shared/table_steps.feature
|