bucky-core 0.9.0 → 0.9.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 84480202869791beb2216d99538d38bd3cbfa4d4
4
- data.tar.gz: 1a7d387572dc81f08e8ff3dc6db62d14e49e1cf3
3
+ metadata.gz: 5ca9ddc3d75d052fad26d93b6ba792ca2ef7fff3
4
+ data.tar.gz: 949249b28151ab881209439272cc8071d4ded81e
5
5
  SHA512:
6
- metadata.gz: da5cba5f370ffefa0d395f587e3ec5327c6102e0b2ade30fd3be53e434e7dc0d589ceeb5a9fa451d6101b4ee358f8ba2f16da660afe6a7139236b306e599d3a2
7
- data.tar.gz: 7f5faff4bfdc389dc135901158f5ab426a887d97891adbcbae76883083d560604320ca2089263fd65ab8263cee14ea04fe371957e0fc9e8fd589a4fc93416e0e
6
+ metadata.gz: 20bc1124ddb7d9fb746da674f47fdbf9e2c61f46688f91fe2a827a5338edadebe98c5ba1500486e90f5a9b0ece6b02d545018809fb772fd63b399e71d1891652
7
+ data.tar.gz: 6846b76b5fd4539f7d31668fbfab22c311f6e2746872475b1fadcf926cd47a494cb0f6795278331eefeb33b6bdcf1c96bcbe65a52863365295377a9be80a103b
data/README.md CHANGED
@@ -1,33 +1,42 @@
1
1
  # Bucky-Core
2
2
 
3
3
  ## Overview
4
+ Bucky-core can run test code which is written in YAML. End-to-End test (working with Selenium) and Linkstatus test (HTTP status check) are supported in default. Page object model pattern and page based element management is the main concept in Bucky-core. You can create scenarios and execute it easily by using Bucky-core.
4
5
 
5
- Bucky is a testing framework that supports web system testing life cycle.
6
+ When working with [Bucky-management](https://github.com/lifull-dev/bucky-management), Bucky-core can also record test results. You can make test results visualization by using Bucky-management.
6
7
 
7
8
  ## Feature
8
9
 
9
10
  * Run tests in parallel
10
11
  * Re-run tests which failed last time
11
12
  * Support test code in YAML
12
- * Multiple browser supported (Currently only Chrome is supported)
13
+ * Multiple browser supported (currently only Chrome is supported)
13
14
  * Customizable test categories
14
15
  * [Default] E2E: E2E (End to End) tests including JavaScript error check
15
16
  * [Default] Linkstatus: http status code check in web page
16
- * Making test Report with [bucky-management](https://github.com/lifull-dev/bucky-management)
17
+ * Making test report with [Bucky-management](https://github.com/lifull-dev/bucky-management)
17
18
 
18
19
 
19
20
  ## Setup
20
21
 
22
+ Checkout Hands-on in example to get a quick start.
23
+ * [bucky-core/example/hands-on](https://github.com/lifull-dev/bucky-core/tree/master/example/hands-on)
24
+
21
25
  ### Install
22
26
  ```bash
23
27
  gem install bucky-core
24
28
  ```
25
29
 
26
30
  ### Implement test code
31
+ * Use snake case for naming
27
32
  ```bash
28
33
  # Make project directory
29
34
  bucky new {your_project_name}
30
35
 
36
+ # Move into project directory
37
+ # It's the working directory when execute Bucky command
38
+ cd {your_project_name}
39
+
31
40
  # Make service directory
32
41
  bucky make service {your_service_name}
33
42
 
@@ -57,7 +66,10 @@ export BUCKY_DB_NAME="{your database name}"
57
66
  ```
58
67
 
59
68
  ## Usage
69
+ You can find some examples in here!
70
+ * [bucky-core/example](https://github.com/lifull-dev/bucky-core/blob/master/example)
60
71
 
72
+ You should start Selenium Chrome driver first. And you can find how to start Selenium Chrome driver by Docker in [SeleniumHQ/docker-selenium](https://github.com/SeleniumHQ/docker-selenium).
61
73
  ### Run test
62
74
  ```bash
63
75
  # Condition filter using option
@@ -188,7 +200,7 @@ cases:
188
200
 
189
201
  #### Sample linkstatus test_code.yml
190
202
 
191
- * linkstatus will check every \<a> tag's http response in url
203
+ * Linkstatus will check every \<a> tag's http response in url
192
204
 
193
205
  ```yaml
194
206
  desc: suite description
data/bucky-core.gemspec CHANGED
@@ -10,10 +10,13 @@ Gem::Specification.new do |spec|
10
10
  spec.authors = %w[NaotoKishino HikaruFukuzawa SeiyaSato NaokiNakano RikiyaHikimochi JyeRuey]
11
11
  spec.email = ['KishinoNaoto@lifull.com']
12
12
 
13
- spec.summary = 'A test framework that supports Life Cycle of System Testing.'
13
+ spec.summary = 'System testing framework for web application.'
14
14
  spec.description = <<-DESCRIPTION
15
- Bucky support run in parellel, test results managed in database, and some test categories(E2E, http status check) and so on.
15
+ Bucky-core can run test code which is written in YAML. End-to-End test (working with Selenium) and Linkstatus test (HTTP status check) are supported in default. Page object model pattern and page based element management is the main concept in Bucky-core. You can create scenarios and execute it easily by using Bucky-core.
16
+
17
+ When working with Bucky-management, Bucky-core can also record test results. You can make test results visualization by using Bucky-management.
16
18
  DESCRIPTION
19
+ spec.required_rubygems_version = '>= 2.4.2'
17
20
  spec.homepage = 'https://github.com/lifull-dev/bucky-core'
18
21
  spec.license = 'MIT'
19
22
 
data/example/README.md ADDED
@@ -0,0 +1,2 @@
1
+ ## You can check the example code in each directory
2
+ * [hands-on](https://github.com/lifull-dev/bucky-core/blob/master/example/hands-on)
@@ -0,0 +1,2 @@
1
+ # bucky home directory.
2
+ # Do not delete this file.
@@ -0,0 +1,338 @@
1
+ # Hands-on
2
+
3
+ # What is this example doing
4
+ It will show you how to create a project, service, page and some test code using Bucky command.
5
+ And will show you how to execute these test code.
6
+
7
+ ## Before starting
8
+ Make sure you have already installed gem "bucky-core".
9
+ ```bash
10
+ gem install bucky-core
11
+ ```
12
+
13
+ ## 1. Create a new test project
14
+ * Project directory is your working directory when you are executing Bucky test code
15
+
16
+ Create a new test project.
17
+ ```bash
18
+ bucky new hands-on
19
+ ```
20
+ You will get a new directory which name is "hands-on" in the current directory.
21
+
22
+ ## 2. Create a new service in the project
23
+ * Service means the application name that you are going to test
24
+ * You are able to create multiple services in one project
25
+ * Use snake case for naming
26
+
27
+ Move into project directory and create a service.
28
+ ```bash
29
+ cd hands-on
30
+ bucky make service bucky_hands_on
31
+ ```
32
+ You will get a new directory which name is "bucky_hands_on" under services directory.
33
+
34
+ ## 3. Create devices directory and create page_object, parts for test code
35
+ * Device only support PC, SP and tablet
36
+ * Test code will be executed in different user agents according to the device
37
+ * Page_object is the file that you can add customize method in
38
+ * Parts is the file that HTML element of the page is declared in
39
+ * Use snake case for naming
40
+
41
+ Create device directory, page_object file and part file.
42
+ ```bash
43
+ # Create github top page
44
+ bucky make page github_top --service bucky_hands_on --device pc
45
+ # Create github search list page
46
+ bucky make page github_search_list --service bucky_hands_on --device pc
47
+ ```
48
+ In this time, your directory will look like the following:
49
+ ```bash
50
+ hands-on/
51
+ ├── README.md
52
+ ├── config
53
+ │ ├── bucky_config.yml
54
+ │ ├── e2e_config.yml
55
+ │ ├── linkstatus_config.yml
56
+ │ └── test_db_config.yml
57
+ ├── services
58
+ │ ├── README.md
59
+ │ └── bucky_hands_on
60
+ │ └── pc
61
+ │ ├── pageobject
62
+ │ │ ├── github_search_list.rb
63
+ │ │ └── github_top.rb
64
+ │ └── parts
65
+ │ ├── github_search_list.yml
66
+ │ └── github_top.yml
67
+ └── system
68
+ ├── evidences
69
+ │ ├── README.md
70
+ │ └── screen_shots
71
+ │ └── README.md
72
+ └── logs
73
+ └── README.md
74
+ ```
75
+
76
+ ## 4. Add the element in part file, which are going to be used in test code
77
+ * Part file can be written in xpath or id
78
+ * Use snake case for naming
79
+
80
+ Add the search bar and search result element in github_top.yml.
81
+ ```
82
+ ## services/bucky_hands_on/pc/parts/github-top.yml ##
83
+ search_bar:
84
+ - xpath
85
+ - //input[contains(@class,'header-search-input')]
86
+ search_resault:
87
+ - xpath
88
+ - //div[contains(@class,'jump-to-suggestions')]
89
+ ```
90
+ Add bucky-core click element in github_search_list.yml.
91
+ ```
92
+ ## services/bucky_hands_on/pc/parts/github_search_list.yml ##
93
+ bucky_core_a_tag:
94
+ - xpath
95
+ - //a[contains(text(),'lifull-dev')]
96
+ ```
97
+
98
+ ## 5. Create test code in E2E (End-to-End) category
99
+ * This step can't be done by Bucky command
100
+ * Use snake case for naming
101
+
102
+ Create e2e category directory.
103
+ ```bash
104
+ mkdir -p services/bucky_hands_on/pc/scenarios/e2e
105
+ ```
106
+ Create test code file, which test suite name is "search_and_assert".
107
+ ```bash
108
+ touch services/bucky_hands_on/pc/scenarios/e2e/search_and_assert.yml
109
+ ```
110
+ Add test code in test suite.
111
+ ```
112
+ ## services/bucky_hands_on/pc/scenarios/e2e/search_and_assert.yml ##
113
+ # Describe for this test suite
114
+ desc: search in github and check page transition
115
+ device: pc
116
+ service: bucky_hands_on
117
+ priority: high
118
+ test_category: e2e
119
+ labels:
120
+ - example
121
+ cases:
122
+ # You should create test case name as {test suite name + _ + number}
123
+ - case_name: search_and_assert_1
124
+ func: transition
125
+ desc: Should able to search bucky-core in github, and move to bucky-core page.
126
+ # Procedures to do in this case
127
+ procs:
128
+ - proc: Open github top page
129
+ exec:
130
+ operate: go
131
+ url: https://github.com/
132
+ - proc: Input 'bucky-core' in search bar
133
+ exec:
134
+ operate: input
135
+ page: github_top
136
+ part: search_bar
137
+ word: 'bucky-core'
138
+ - proc: Click search result
139
+ exec:
140
+ operate: click
141
+ page: github_top
142
+ part: search_resault
143
+ - proc: Click target result
144
+ exec:
145
+ operate: click
146
+ page: github_search_list
147
+ part: bucky_core_a_tag
148
+ - proc: assert_text
149
+ exec:
150
+ verify: assert_title
151
+ expect: 'GitHub - lifull-dev/bucky-core: Bucky is a testing framework that supports Web System Testing Life Cycle.'
152
+ ```
153
+ ## 6. Create test code in Linkstatus category
154
+ * This step can't be done by Bucky command
155
+ * Use snake case for naming
156
+
157
+ Create linkstatus category directory.
158
+ ```bash
159
+ mkdir -p services/bucky_hands_on/pc/scenarios/linkstatus
160
+ ```
161
+ Create test code file, which test suite name is "github_top".
162
+ ```bash
163
+ touch services/bucky_hands_on/pc/scenarios/linkstatus/github_top.yml
164
+ ```
165
+ Add test code in test suite.
166
+ ```
167
+ ## services/bucky_hands_on/pc/scenarios/linkstatus/github_top.yml ##
168
+ # Describe for this test suite
169
+ desc: Check all a tag in githib top
170
+ device: pc
171
+ service: bucky_hands_on
172
+ priority: high
173
+ test_category: linkstatus
174
+ labels:
175
+ - example
176
+ # You can exclude url that you don't want to check
177
+ exclude_urls:
178
+ - https://github.com/customer-stories/*
179
+ cases:
180
+ - case_name: github_top_1
181
+ desc: Check github top
182
+ urls:
183
+ - https://github.com/
184
+ ```
185
+
186
+ ## 7. Execute test code
187
+ * You should start Selenium Chrome driver first
188
+
189
+ You can find how to start Selenium Chrome driver by Docker in [SeleniumHQ/docker-selenium](https://github.com/SeleniumHQ/docker-selenium).
190
+
191
+ Set the connection for E2E test.
192
+ ```
193
+ ## config/e2e_config.yml ##
194
+ :selenium_ip: {your ip for selenium}
195
+ :selenium_port: '4444'
196
+ ```
197
+
198
+ Execute the test by Bucky command. You should execute the test code in working directory. In this case, the working directory is: "hands-on/".
199
+ ```bash
200
+ # Use -d option, because we doesn't start-up bucky-managemnt in this example.
201
+ bucky run -t e2e -c search_and_assert_1 -d
202
+ bucky run -t linkstatus -c github_top_1 -d
203
+ ```
204
+
205
+ You will get resault like the following:
206
+ ```
207
+ bucky run -t e2e -c search_and_assert_1 -d
208
+
209
+ Loaded suite /usr/local/bin/bucky
210
+ Started
211
+
212
+ search_and_assert_1(TestBuckyHandsOnPcE2eSearchAndassert)
213
+ Sholud able to serch bucky-core in github, and transition to it. ....
214
+ 1:Open github top page
215
+ {:operate=>"go", :url=>"https://github.com/"}
216
+ 2:Input 'bucky-core' in search bar
217
+ {:operate=>"input", :page=>"github_top", :part=>"search_bar", :word=>"bucky-core"}
218
+ 3:Click search result
219
+ {:operate=>"click", :page=>"github_top", :part=>"search_resault"}
220
+ 4:Click target result
221
+ {:operate=>"click", :page=>"github_search_list", :part=>"bucky_core_a_tag"}
222
+ 5:assert_text
223
+ assert_title is defined in E2eVerificationClass.
224
+ {:verify=>"assert_title", :expect=>"GitHub - lifull-dev/bucky-core: Bucky is a testing framework that supports Web System Testing Life Cycle."}
225
+ .
226
+
227
+ Finished in 8.948734 seconds.
228
+ -------------------------------------------------------------------------------------------------------------------------------------------------------------------
229
+ 1 tests, 5 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
230
+ 100% passed
231
+ -------------------------------------------------------------------------------------------------------------------------------------------------------------------
232
+ 0.11 tests/s, 0.56 assertions/s
233
+
234
+
235
+
236
+ bucky run -t linkstatus -c github_top_1 -d
237
+
238
+ Loaded suite /usr/local/bin/bucky
239
+ Started
240
+
241
+ github_top_1(TestBuckyHandsOnPcLinkstatusGithubTop))}
242
+ https://github.com/ ... [200:OK]
243
+ https://github.com/ is already [200:OK]
244
+ https://github.com/features/actions ... [200:OK]
245
+ https://github.com/features#team-management ... [200:OK]
246
+ https://github.com/join?source=header-home ... [200:OK]
247
+ https://github.com#start-of-content ... [200:OK]
248
+ https://github.com/features/code-review/ ... [200:OK]
249
+ https://github.com/features ... [200:OK]
250
+ https://github.com/features/project-management/ ... [200:OK]
251
+ https://github.com/features#code-hosting ... [200:OK]
252
+ https://github.com/features#social-coding ... [200:OK]
253
+ https://github.com/customer-stories ... [200:OK]
254
+ https://github.com/security ... [200:OK]
255
+ https://github.com/collections ... [200:OK]
256
+ https://github.com/topics ... [200:OK]
257
+ https://github.com/features#documentation ... [200:OK]
258
+ https://github.com/events ... [200:OK]
259
+ https://github.com/enterprise ... [200:OK]
260
+ https://github.com/trending ... [200:OK]
261
+ https://github.com/pricing#feature-comparison ... [200:OK]
262
+ https://github.com/explore ... [200:OK]
263
+ https://github.com/nonprofit ... [200:OK]
264
+ https://github.com/marketplace ... [200:OK]
265
+ https://github.com/pricing ... [200:OK]
266
+ https://github.com/login ... [200:OK]
267
+ https://github.com/features/integrations ... [200:OK]
268
+ https://github.com ... [200:OK]
269
+ https://github.com/business ... redirect to https://github.com/enterprise [302:RD]
270
+ https://github.com/open-source ... [200:OK]
271
+ https://github.com/enterprise is already [200:OK]
272
+ https://github.com/join?source=button-home ... [200:OK]
273
+ https://github.com/join?plan=business&setup_organization=true&source=business-page ... [200:OK]
274
+ https://github.com/personal ... [200:OK]
275
+ https://github.com/about/careers ... [200:OK]
276
+ https://github.com/contact ... [200:OK]
277
+ https://github.com/about ... [200:OK]
278
+ https://github.com/features/project-management ... [200:OK]
279
+ https://github.com/site/terms ... redirect to https://help.github.com/articles/github-terms-of-service/ [301:RD]
280
+ https://github.com/features/code-review ... [200:OK]
281
+ https://github.com/about/press ... [200:OK]
282
+ https://github.com/site/privacy ... redirect to https://help.github.com/articles/github-privacy-statement/ [302:RD]
283
+ https://github.com/github ... [200:OK]
284
+ https://help.github.com/articles/github-terms-of-service/ ... redirect to https://help.github.com/articles/github-terms-of-service [301:RD]
285
+ https://help.github.com/articles/github-privacy-statement/ ... redirect to https://help.github.com/articles/github-privacy-statement [301:RD]
286
+ https://help.github.com/articles/github-terms-of-service ... redirect to https://help.github.com/en/articles/github-terms-of-service [301:RD]
287
+ https://help.github.com/articles/github-privacy-statement ... redirect to https://help.github.com/en/articles/github-privacy-statement [301:RD]
288
+ https://help.github.com/en/articles/github-privacy-statement ... [200:OK]
289
+ https://help.github.com/en/articles/github-terms-of-service ... [200:OK]
290
+ .
291
+
292
+ Finished in 11.283795 seconds.
293
+ -------------------------------------------------------------------------------------------------------------------------------------------------------------------
294
+ 1 tests, 2 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
295
+ 100% passed
296
+ -------------------------------------------------------------------------------------------------------------------------------------------------------------------
297
+ 0.09 tests/s, 0.18 assertions/s
298
+ ```
299
+
300
+ ## At last
301
+ Congratulations!! You have just finish this example.
302
+
303
+ If you follow these procedures your directory will be like this:
304
+ ```
305
+ hands-on/
306
+ ├── README.md
307
+ ├── config
308
+ │ ├── bucky_config.yml
309
+ │ ├── e2e_config.yml
310
+ │ ├── linkstatus_config.yml
311
+ │ └── test_db_config.yml
312
+ ├── services
313
+ │ ├── README.md
314
+ │ └── bucky_hands_on
315
+ │ └── pc
316
+ │ ├── pageobject
317
+ │ │ ├── github_search_list.rb
318
+ │ │ └── github_top.rb
319
+ │ ├── parts
320
+ │ │ ├── github_search_list.yml
321
+ │ │ └── github_top.yml
322
+ │ └── scenarios
323
+ │ ├── e2e
324
+ │ │ └── search_and_assert.yml
325
+ │ └── linkstatus
326
+ │ └── github_top.yml
327
+ └── system
328
+ ├── evidences
329
+ │ ├── README.md
330
+ │ └── screen_shots
331
+ │ └── README.md
332
+ └── logs
333
+ └── README.md
334
+ ```
335
+
336
+ We have learned how to create project, service, page, and test code. And also learned how to execute test code using Bucky command.
337
+
338
+ Now you can create you own test code!!
@@ -0,0 +1,6 @@
1
+ :parallel_num: 4
2
+ :test_result_path: './system/test_results/'
3
+ :log_path: './system/logs/'
4
+ :screen_shot_path: './system/evidences/screen_shots/'
5
+ :bucky_error: 'bucky_error'
6
+ :test_code_repo: 'https://github.com/hogehoge/fugafuga/'
@@ -0,0 +1,15 @@
1
+ :selenium_ip: localhost # default selenium ip. please set ip or 'docker_host_ip'. ip route | awk 'NR==1 {print $3}'
2
+ :selenium_port: '4444' # default selenium port
3
+ :browser: :chrome # Only chrome
4
+ :sp_device_name: :iphone
5
+ :tablet_device_name: :ipad
6
+ :device_name_on_chrome:
7
+ :iphone: 'iPhone X'
8
+ :android: 'Galaxy S5'
9
+ :ipad: 'iPad'
10
+ :user_agent: 'E2ETest (X11; Linux x86_64)'
11
+ :js_error_check: true
12
+ :js_error_collector_path: '/var/lib/selenium/ChromeJSErrorCollector-master/extension' # https://github.com/dharrya/ChromeJSErrorCollector
13
+ :driver_read_timeout: 60 # sec
14
+ :driver_open_timeout: 60 # sec
15
+ :find_element_timeout: 10 # sec
@@ -0,0 +1,3 @@
1
+ :linkstatus_parallel_num: 8
2
+ :linkstatus_open_timeout: 60
3
+ :linkstatus_read_timeout: 60
@@ -0,0 +1,8 @@
1
+ :test_db:
2
+ :bucky_test:
3
+ :username: <%= ENV['BUCKY_DB_USERNAME'] %>
4
+ :password: <%= ENV['BUCKY_DB_PASSWORD'] %>
5
+ :database: 'bucky_development'
6
+ :host: <%= ENV['BUCKY_DB_HOSTNAME'] %>
7
+ :port: 3306
8
+ :adapter: :mysql
@@ -0,0 +1 @@
1
+ for services page and parts objects.
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'bucky/test_equipment/pageobject/base_pageobject'
4
+ module Services
5
+ module BuckyHandsOn
6
+ module Pc
7
+ module PageObject
8
+ class GithubSearchList < Bucky::TestEquipment::PageObject::BasePageObject
9
+
10
+ protected
11
+
12
+ # add some user operations for this page
13
+ # sample ====================
14
+ # @param [Hash] args
15
+ # def search_freeword(**args)
16
+ # freeword_form.send_keys(args[:word])
17
+ # freeword_form.submit
18
+ # end
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'bucky/test_equipment/pageobject/base_pageobject'
4
+ module Services
5
+ module BuckyHandsOn
6
+ module Pc
7
+ module PageObject
8
+ class GithubTop < Bucky::TestEquipment::PageObject::BasePageObject
9
+
10
+ protected
11
+
12
+ # add some user operations for this page
13
+ # sample ====================
14
+ # @param [Hash] args
15
+ # def search_freeword(**args)
16
+ # freeword_form.send_keys(args[:word])
17
+ # freeword_form.submit
18
+ # end
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,3 @@
1
+ bucky_core_a_tag:
2
+ - xpath
3
+ - //a[contains(text(),'lifull-dev')]
@@ -0,0 +1,6 @@
1
+ search_bar:
2
+ - xpath
3
+ - //input[contains(@class,'header-search-input')]
4
+ search_resault:
5
+ - xpath
6
+ - //div[contains(@class,'jump-to-suggestions')]
@@ -0,0 +1,39 @@
1
+ # Describe for this test suite
2
+ desc: search in github and check page transition
3
+ device: pc
4
+ service: bucky_hands_on
5
+ priority: high
6
+ test_category: e2e
7
+ labels:
8
+ - example
9
+ cases:
10
+ # You should create test case name as {test suite name + _ + number}
11
+ - case_name: search_and_asseret_1
12
+ func: transition
13
+ desc: Should able to search bucky-core in github, and move to bucky-core page.
14
+ # Procedures to do in this case
15
+ procs:
16
+ - proc: Open github top page
17
+ exec:
18
+ operate: go
19
+ url: https://github.com/
20
+ - proc: Input 'bucky-core' in search bar
21
+ exec:
22
+ operate: input
23
+ page: github_top
24
+ part: search_bar
25
+ word: 'bucky-core'
26
+ - proc: Click search result
27
+ exec:
28
+ operate: click
29
+ page: github_top
30
+ part: search_resault
31
+ - proc: Click target result
32
+ exec:
33
+ operate: click
34
+ page: github_search_list
35
+ part: bucky_core_a_tag
36
+ - proc: assert_text
37
+ exec:
38
+ verify: assert_title
39
+ expect: 'GitHub - lifull-dev/bucky-core: System testing framework for web application.'
@@ -0,0 +1,16 @@
1
+ # Describe for this test suite
2
+ desc: Check all a tag in githib top
3
+ device: pc
4
+ service: bucky_hands_on
5
+ priority: high
6
+ test_category: linkstatus
7
+ labels:
8
+ - example
9
+ # You can exclude url that you don't want to check
10
+ exclude_urls:
11
+ - https://github.com/customer-stories/*
12
+ cases:
13
+ - case_name: github_top_1
14
+ desc: Check github top
15
+ urls:
16
+ - https://github.com/
@@ -0,0 +1 @@
1
+ for save evidence directory.
@@ -0,0 +1 @@
1
+ for save screen shots directory.
@@ -0,0 +1 @@
1
+ for save logs directory.
data/lib/bucky/version.rb CHANGED
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Bucky
4
4
  module Version
5
- VERSION = '0.9.0'
5
+ VERSION = '0.9.1'
6
6
  end
7
7
  end
@@ -3,6 +3,6 @@
3
3
  :username: <%= ENV['BUCKY_DB_USERNAME'] %>
4
4
  :password: <%= ENV['BUCKY_DB_PASSWORD'] %>
5
5
  :database: 'bucky_development'
6
- :host: <%= ENV['BUCKY_DB_HOST'] %>
6
+ :host: <%= ENV['BUCKY_DB_HOSTNAME'] %>
7
7
  :port: 3306
8
8
  :adapter: :mysql
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bucky-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.0
4
+ version: 0.9.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - NaotoKishino
@@ -13,7 +13,7 @@ authors:
13
13
  autorequire:
14
14
  bindir: exe
15
15
  cert_chain: []
16
- date: 2019-04-11 00:00:00.000000000 Z
16
+ date: 2019-04-15 00:00:00.000000000 Z
17
17
  dependencies:
18
18
  - !ruby/object:Gem::Dependency
19
19
  name: awesome_print
@@ -281,8 +281,10 @@ dependencies:
281
281
  - - "~>"
282
282
  - !ruby/object:Gem::Version
283
283
  version: '3.2'
284
- description: " Bucky support run in parellel, test results managed in database,
285
- and some test categories(E2E, http status check) and so on.\n"
284
+ description: |2
285
+ Bucky-core can run test code which is written in YAML. End-to-End test (working with Selenium) and Linkstatus test (HTTP status check) are supported in default. Page object model pattern and page based element management is the main concept in Bucky-core. You can create scenarios and execute it easily by using Bucky-core.
286
+
287
+ When working with Bucky-management, Bucky-core can also record test results. You can make test results visualization by using Bucky-management.
286
288
  email:
287
289
  - KishinoNaoto@lifull.com
288
290
  executables:
@@ -314,6 +316,23 @@ files:
314
316
  - docker/nginx/nginx.conf
315
317
  - docker/nginx/public/index.html
316
318
  - docker/nginx/public/test_page.html
319
+ - example/README.md
320
+ - example/hands-on/.bucky_home
321
+ - example/hands-on/README.md
322
+ - example/hands-on/config/bucky_config.yml
323
+ - example/hands-on/config/e2e_config.yml
324
+ - example/hands-on/config/linkstatus_config.yml
325
+ - example/hands-on/config/test_db_config.yml
326
+ - example/hands-on/services/README.md
327
+ - example/hands-on/services/bucky_hands_on/pc/pageobject/github_search_list.rb
328
+ - example/hands-on/services/bucky_hands_on/pc/pageobject/github_top.rb
329
+ - example/hands-on/services/bucky_hands_on/pc/parts/github_search_list.yml
330
+ - example/hands-on/services/bucky_hands_on/pc/parts/github_top.yml
331
+ - example/hands-on/services/bucky_hands_on/pc/scenarios/e2e/search_and_asseret.yml
332
+ - example/hands-on/services/bucky_hands_on/pc/scenarios/linkstatus/github_top.yml
333
+ - example/hands-on/system/evidences/README.md
334
+ - example/hands-on/system/evidences/screen_shots/README.md
335
+ - example/hands-on/system/logs/README.md
317
336
  - exe/bucky
318
337
  - lib/bucky.rb
319
338
  - lib/bucky/core/database/db_connector.rb
@@ -405,11 +424,11 @@ required_rubygems_version: !ruby/object:Gem::Requirement
405
424
  requirements:
406
425
  - - ">="
407
426
  - !ruby/object:Gem::Version
408
- version: '0'
427
+ version: 2.4.2
409
428
  requirements: []
410
429
  rubyforge_project:
411
- rubygems_version: 2.5.2.3
430
+ rubygems_version: 2.6.14
412
431
  signing_key:
413
432
  specification_version: 4
414
- summary: A test framework that supports Life Cycle of System Testing.
433
+ summary: System testing framework for web application.
415
434
  test_files: []