bucky-core 0.9.9 → 0.9.10
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.circleci/config.yml +1 -1
- data/Dockerfile.system-test +6 -5
- data/Gemfile.lock +3 -3
- data/docker-compose.dev-with-bm.yml +1 -1
- data/docker-compose.dev.yml +1 -1
- data/docker-compose.system-test.yml +1 -1
- data/docker/nginx/public/index.html +10 -5
- data/lib/bucky/test_equipment/pageobject/base_pageobject.rb +21 -7
- data/lib/bucky/test_equipment/pageobject/pages.rb +1 -1
- data/lib/bucky/test_equipment/user_operation/user_operator.rb +1 -1
- data/lib/bucky/version.rb +1 -1
- data/system_testing/test_bucky_project/services/service_a/pc/parts/index.yml +4 -1
- data/system_testing/test_bucky_project/services/service_a/pc/scenarios/e2e/pc_e2e.yml +16 -1
- data/system_testing/test_specification.md +23 -22
- data/system_testing/testing_code/e2e.bats +6 -0
- data/template/make_page/pc/parts/sample_page.yml +5 -2
- data/template/make_page/sp/parts/sample_page.yml +6 -3
- data/template/make_page/tablet/parts/sample_page.yml +5 -2
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9e3cf3993f681951c906a45815751a0e9614e9b7
|
4
|
+
data.tar.gz: 38172d387adbc7e80fc86b2776c3c158e0b97a0f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e6dcb6548bc532ed6ed1dc39628c1613d10fb43173daeae5f5f376548c7b47621a3169a7725409ad547a8870d082adbf5dcc206b608b90c00b48388093947d11
|
7
|
+
data.tar.gz: 79c354951b3e7134327deca39afbcdda7c9016bd4bde26cf48d704b4605c51845cd728bb7bb2703bbd041929a89caaeb1d77a2104768feb44c19414a77004f1d
|
data/.circleci/config.yml
CHANGED
@@ -9,7 +9,7 @@ jobs:
|
|
9
9
|
command: docker-compose -f docker-compose.system-test.yml up --build -d
|
10
10
|
- run:
|
11
11
|
name: execute system testing
|
12
|
-
command: docker exec bucky-core bats /bucky-core/system_testing/testing_code
|
12
|
+
command: docker exec bucky-core bats /bucky-core/system_testing/testing_code
|
13
13
|
- run:
|
14
14
|
name: docker down
|
15
15
|
command: docker-compose -f docker-compose.system-test.yml down
|
data/Dockerfile.system-test
CHANGED
@@ -20,12 +20,13 @@ RUN apk update && \
|
|
20
20
|
yaml \
|
21
21
|
yaml-dev \
|
22
22
|
zlib-dev \
|
23
|
-
curl
|
23
|
+
curl \
|
24
|
+
parallel
|
24
25
|
|
25
|
-
|
26
|
-
|
27
|
-
&&
|
28
|
-
&& rm -rf
|
26
|
+
RUN git clone https://github.com/bats-core/bats-core.git /tmp/bats-core \
|
27
|
+
&& cd /tmp/bats-core \
|
28
|
+
&& ./install.sh /usr/local \
|
29
|
+
&& rm -rf /tmp/bats-core
|
29
30
|
|
30
31
|
ENV BC_DIR /bucky-core/
|
31
32
|
WORKDIR $BC_DIR
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
bucky-core (0.9.
|
4
|
+
bucky-core (0.9.9)
|
5
5
|
color_echo (~> 3.1)
|
6
6
|
json (~> 2.1)
|
7
7
|
nokogiri (~> 1.8)
|
@@ -73,8 +73,8 @@ GEM
|
|
73
73
|
unicode-display_width (>= 1.4.0, < 1.6)
|
74
74
|
ruby-mysql (2.9.14)
|
75
75
|
ruby-progressbar (1.10.0)
|
76
|
-
rubyzip (1.2.
|
77
|
-
selenium-webdriver (3.142.
|
76
|
+
rubyzip (1.2.3)
|
77
|
+
selenium-webdriver (3.142.3)
|
78
78
|
childprocess (>= 0.5, < 2.0)
|
79
79
|
rubyzip (~> 1.2, >= 1.2.2)
|
80
80
|
sequel (4.49.0)
|
data/docker-compose.dev.yml
CHANGED
@@ -10,10 +10,15 @@
|
|
10
10
|
}
|
11
11
|
</script>
|
12
12
|
</head>
|
13
|
-
|
14
|
-
<
|
15
|
-
|
16
|
-
|
17
|
-
</
|
13
|
+
<body>
|
14
|
+
<a id="test_link" href="/test_page.html">Go to test page</a>
|
15
|
+
<div id="user_agent"></div>
|
16
|
+
<div class="class1">
|
17
|
+
<a class="links" href="/test_page.html">class1-1</a>
|
18
|
+
</div>
|
19
|
+
<div class="class1">
|
20
|
+
<a class="links" href="/test_page.html">class1-2</a>
|
21
|
+
</div>
|
22
|
+
</body>
|
18
23
|
|
19
24
|
</html>
|
@@ -8,6 +8,21 @@ module Bucky
|
|
8
8
|
module PageObject
|
9
9
|
class BasePageObject
|
10
10
|
include Bucky::Utils::YamlLoad
|
11
|
+
|
12
|
+
# https://seleniumhq.github.io/selenium/docs/api/rb/Selenium/WebDriver/SearchContext.html#find_element-instance_method
|
13
|
+
FINDERS = {
|
14
|
+
class: 'class name',
|
15
|
+
class_name: 'class name',
|
16
|
+
css: 'css selector',
|
17
|
+
id: 'id',
|
18
|
+
link: 'link text',
|
19
|
+
link_text: 'link text',
|
20
|
+
name: 'name',
|
21
|
+
partial_link_text: 'partial link text',
|
22
|
+
tag_name: 'tag name',
|
23
|
+
xpath: 'xpath'
|
24
|
+
}.freeze
|
25
|
+
|
11
26
|
def initialize(service, device, page_name, driver)
|
12
27
|
@driver = driver
|
13
28
|
generate_parts(service, device, page_name)
|
@@ -18,7 +33,7 @@ module Bucky
|
|
18
33
|
# Load parts file and define parts method
|
19
34
|
# @param [String] service
|
20
35
|
# @param [String] device (pc, sp)
|
21
|
-
# @param [String]
|
36
|
+
# @param [String] page_name
|
22
37
|
def generate_parts(service, device, page_name)
|
23
38
|
Dir.glob("./services/#{service}/#{device}/parts/#{page_name}.yml").each do |file|
|
24
39
|
parts_data = load_yaml(file)
|
@@ -35,13 +50,12 @@ module Bucky
|
|
35
50
|
# @param [String] Condition of search (xpath/id)
|
36
51
|
# @return [Selenium::WebDriver::Element]
|
37
52
|
def find_elem(method, value)
|
38
|
-
|
39
|
-
|
40
|
-
raise_if_element_empty(elem, method, value)
|
41
|
-
return elem
|
42
|
-
end
|
53
|
+
method_name = method.downcase.to_sym
|
54
|
+
raise StandardError, "Invalid finder. #{method_name}" unless FINDERS.key? method_name
|
43
55
|
|
44
|
-
@driver.
|
56
|
+
elem = @driver.find_elements(method_name, value)
|
57
|
+
raise_if_element_empty(elem, method_name, value)
|
58
|
+
elem
|
45
59
|
rescue StandardError => e
|
46
60
|
Bucky::Core::Exception::WebdriverException.handle(e)
|
47
61
|
end
|
@@ -52,7 +52,7 @@ module Bucky
|
|
52
52
|
@pages.send(args[:page]).send(part_name)[num].send(@operation)
|
53
53
|
# e.g.){page: 'top', part: 'rosen_tokyo', operate: 'click'}
|
54
54
|
else
|
55
|
-
@pages.send(args[:page]).send(args[:part]).send(@operation)
|
55
|
+
@pages.send(args[:page]).send(args[:part]).first.send(@operation)
|
56
56
|
end
|
57
57
|
end
|
58
58
|
end
|
data/lib/bucky/version.rb
CHANGED
@@ -65,4 +65,19 @@ cases:
|
|
65
65
|
operate: click
|
66
66
|
page: index
|
67
67
|
part: link
|
68
|
-
when: <%= ENV['STAGE'] == 'development' %>
|
68
|
+
when: <%= ENV['STAGE'] == 'development' %>
|
69
|
+
- case_name: pc_e2e_5
|
70
|
+
func: pc e2e 5 multi elements
|
71
|
+
desc: pc e2e 5 multi elements
|
72
|
+
procs:
|
73
|
+
- proc: open index
|
74
|
+
exec:
|
75
|
+
operate: go
|
76
|
+
url: http://bucky.net
|
77
|
+
- proc: index
|
78
|
+
exec:
|
79
|
+
operate: click
|
80
|
+
page: index
|
81
|
+
part:
|
82
|
+
locate: links
|
83
|
+
num: 1
|
@@ -14,25 +14,26 @@ docker-compose -f docker-compose.system-test.yml down
|
|
14
14
|
※ Only Japanese now.
|
15
15
|
※ テストケースNo.はbatsのケース説明部分に記載し、対応づけを行う
|
16
16
|
|
17
|
-
| テスト条件 | テスト観点 | テストケース<br/>No. | テストケース | テスト手順 | 期待結果 |
|
18
|
-
|
19
|
-
| E2Eテスト実行機能 | Operateが正常に実行できるか<br/>・シナリオコードに実装されたOperateが実行できること<br/>・clickして遷移できること ※1種類のOperateができればOK<br/>ページタイトルで遷移したことを確認する | 1 | goを実行し正常に実行されること | 1. bucky run -t e2e -d -D pc -c pc_e2e_1<br/>- 以下シナリオファイル内の処理 -<br/>2. goメソッド実行 (http://bucky.net)<br/>3. assert_titleメソッド実行 | goメソッドを実行後にページ遷移されていること<br/>(assert_titleメソッドの結果がOKであることを出力される文字列で判断) |
|
20
|
-
| | Verifyが正常に実行できるか<br/>・シナリオコードに実装されたVerifyが実行できること<br/>・titleの確認ができること ※1種類のVerifyが確認できればOK | 2 | assert_titleを実行し、正常に動作すること | 1. bucky run -t e2e -d -D pc -c pc_e2e_1<br/>- 以下シナリオファイル内の処理 -<br/>2. goメソッド実行 (http://bucky.net)<br/>3. assert_titleメソッド実行 | assert_titleメソッド実行後にエラーが発生しないこと<br/>(終了後のステータスが0であること) |
|
21
|
-
| | | 3 | assert_titleを実行し、期待値と実際値が異なる場合に正常に検証NG時の動作をすること | 1. bucky run -t e2e -d -D pc -c pc_e2e_2<br/>- 以下シナリオファイル内の処理 -<br/>2. goメソッド実行 (http://bucky.net)<br/>3. assert_titleメソッド実行 | assert_titleメソッド実行後に検証NG判定されたことを表す文字列が表示されること |
|
22
|
-
| | 各デバイスのUAで正常に実行できるか | 4 | デバイスPCで実行し、正常にテストが実行されること | 1. bucky run -t e2e -d -D pc -c pc_e2e_3<br/>- 以下シナリオファイル内の処理 -<br/>2. goメソッド実行 (http://bucky.net)<br/>2. assert_textメソッド実行 | assert_textでUseragentを表す文字列をチェックした結果OKであることを出力される文字列で判断<br/><br/>Linux |
|
23
|
-
| | | 5 | デバイスSPで実行し、正常にテストが実行されること | 1. bucky run -t e2e -d -D sp -c sp_e2e_1<br/>- 以下シナリオファイル内の処理 -<br/>2. goメソッド実行 (http://bucky.net)<br/>2. assert_textメソッド実行 | assert_textでUseragentを表す文字列をチェックした結果OKであることを出力される文字列で判断<br/><br/>Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1 |
|
24
|
-
| | | 6 | デバイスTabletで実行し、正常にテストが実行されること | 1. bucky run -t e2e -d -D tablet -c tablet_e2e_1<br/>- 以下シナリオファイル内の処理 -<br/>2. goメソッド実行 (http://bucky.net)<br/>2. assert_textメソッド実行 | assert_textでUseragentを表す文字列をチェックした結果OKであることを出力される文字列で判断<br/><br/>Mozilla/5.0 (iPad; CPU OS 11_0 like Mac OS X) AppleWebKit/604.1.34 (KHTML, like Gecko) Version/11.0 Mobile/15A5341f Safari/604.1 |
|
25
|
-
| | setup/teardown_eachが正常に動作するか | 7 | setup_eachでgoを実行し正常に実行されること | 1. bucky run -t e2e -d -D pc -c setup_each_pc_e2e_1<br/>- 以下シナリオファイル内の処理 -<br/>2. setup内でgoメソッド実行 (http://bucky.net)<br/>3. testcase内でassert_titleメソッド実行 | goメソッドを実行後にページ遷移されていること<br/>(assert_titleメソッドの結果がOKであることを出力される文字列で判断) |
|
26
|
-
| | | 8 | teardown_eachでgoを実行し正常に実行されること | 1. bucky run -t e2e -d -D pc -c teardown_each_pc_e2e_1<br/>- 以下シナリオファイル内の処理 -<br/>2. teardown内でgoメソッド実行 (http://bucky.net)<br/>3. testcase内でassert_titleメソッド実行 | 例外が発生していないこと(終了後のステータスが0であること)<br/>→ 「0 failures, 0 errors」 と表示されること |
|
27
|
-
| | | 9 | setup_each/teardownを実行するケースを複数ケース続けて実行して正常に動作すること | 1. bucky run -t e2e -d -D pc -c setup_teardown_each_pc_e2e_1,setup_teardown_each_pc_e2e_2 <br/>- 以下シナリオファイル内の処理 -<br/>2. setup内でgoメソッド実行 (http://bucky.net)<br/>3. assert_titleメソッド実行<br/>4. testcase内でteardown内でgoメソッド実行 (http://bucky.net)<br/>5. setup内でgoメソッド実行 (http://bucky.net)<br/>6. testcase内でassert_titleメソッド実行<br/>7. teardown内でgoメソッド実行 (http://bucky.net) | 例外が発生していないこと(終了後のステータスが0であること)<br/>→ 「0 failures, 0 errors」 と表示されること |
|
28
|
-
| LinkStatusテスト実行機能 | 起点URLの検証が正しく実施できるか | 10 | linkstatusを実行し、起点URLが検証されること | 1. bucky run -t linkstatus -d -D pc -c pc_link_1<br/>2. http://bucky.net に対してhttpリクエストチェック実行 | 出力に http://bucky.net が含まれること |
|
29
|
-
| | ページ内のリンクの検証が正しく実施できるか | 11 | linkstatusを実行し、起点ページ内のリンクが検証されること | 1. bucky run -t linkstatus -d -D pc -c pc_link_1<br/>2. http://bucky.net に対してhttpリクエストチェック実行<br/>3. http://bucky.net/test_page.html に対してLinkチェック実行 | 出力に http://bucky.net/test_page.html
|
30
|
-
| | 各デバイス(PC/SP)のUAで正常に実行できるか | 12 | デバイスPCでlinkstatusを実行し、正常に動作すること | 1. bucky run -t linkstatus -d -D pc -c pc_link_1<br/>2. http://bucky.net に対してhttpリクエストチェック実行<br/>3. http://bucky.net/test_page.html に対してLinkチェック実行 | 終了後のステータスが0であること<br/>→ 「0 failures, 0 errors」 と表示されること |
|
31
|
-
| | | 13 | デバイスSPでlinkstatusを実行し、正常に動作すること | 1. bucky run -t linkstatus -d -D sp -c sp_link_1<br/>2. http://bucky.net に対してhttpリクエストチェック実行<br/>3. http://bucky.net/test_page.html チェック実行 | 終了後のステータスが0であること<br/>→ 「0 failures, 0 errors」 と表示されること |
|
32
|
-
| テスト用のプロジェクト作成機能 | 下記の構造のディレクトリ、ファイルが生成されること<br/>(./template/new 以下の内容)<br/>.<br/>├── config<br/>│ ├── bucky_config.yml<br/>│ ├── e2e_config.yml<br/>│ ├── for_spec<br/>│ │ └── test.yml<br/>│ ├── linkstatus_config.yml<br/>│ └── test_db_config.yml<br/>├── services<br/>│ └── README.md<br/>└── system<br/>├── evidences<br/>│ ├── README.md<br/>│ └── screen_shots<br/>│ └── README.md<br/>└── logs<br/>└── README.md | 14 | newコマンド実行後に期待通りのファイル、ディレクトリが作成されていること | 1. bucky new test_project | 対象ディレクトリとファイルが存在していること |
|
33
|
-
| ページオブジェクト・パーツファイル作成機能 | 指定のサービス名、デバイスのディレクトリ以下に指定のページ名で.rbファイルと.ymlファイルが生成されること | 15 | make serviceコマンド実行後に期待通りのファイルが作成されていること | 1. (事前条件) bucky new test_project<br/>2. bucky make service test_service | 対象ディレクトリとファイルが存在していること |
|
34
|
-
| | | 16 | make pageコマンド実行後に期待通りのファイルが作成されていること | 1. (事前条件) bucky new test_project<br/>2. (事前条件) bucky make service test_service<br/>3. bucky make page test_page | 対象ディレクトリとファイルが存在していること |
|
35
|
-
| 未定義コマンド実行時の動き | 出力されるメッセージに Invalid command error. が含まれるか<br/>終了ステータスが 0 以外になるか | 17 | 未定義コマンド実行後にエラー終了すること | 1. bucky hoge fuga | 終了後のステータスが0以外であること |
|
36
|
-
| whenを使用しての実行時の動き | 出力されるメッセージに click が含まれるか<br/>例外が発生していないこと(終了後のステータスが0であること)<br/>→ 「0 failures, 0 errors」 と表示されること | 18 | 条件指定をしたテスト実行で不具合なくprocが実行されること | 1. STAGE=development bucky run -d -D -pc -c pc_e2e_4<br/>- 以下シナリオファイル内の処理 -<br/>2. goメソッド実行 (http://bucky.net)<br/>2. whenを使ったclickメソッド実行
|
37
|
-
| whenを使用しての実行時の動き | 出力されるメッセージに click が含まれないこと(終了後のステータスが0であること) | 19 | 条件指定をしないテスト実行で該当のprocが実行されないこと | 1. bucky run -d -D -pc -c pc_e2e_4<br/>- 以下シナリオファイル内の処理 -<br/>2. goメソッド実行 (http://bucky.net)<br/>2. whenを使ったclickメソッドは実行されない
|
38
|
-
| whenを使用しての実行時の動き | 出力されるメッセージに click が含まれないこと(終了後のステータスが0であること) | 20 | 違う条件を指定したテスト実行で該当のprocが実行されないこと | 1. STAGE=staging bucky run -d -D -pc -c pc_e2e_4<br/>- 以下シナリオファイル内の処理 -<br/>2. goメソッド実行 (http://bucky.net)<br/>2. whenを使ったclickメソッドは実行されない
|
17
|
+
| テスト条件 | テスト観点 | テストケース<br/>No. | New No. | テストケース | テスト手順 | 期待結果 |
|
18
|
+
|:--|:--|--:|--:|:--|:--|:--|
|
19
|
+
| E2Eテスト実行機能 | Operateが正常に実行できるか<br/>・シナリオコードに実装されたOperateが実行できること<br/>・clickして遷移できること ※1種類のOperateができればOK<br/>ページタイトルで遷移したことを確認する | 1 | | goを実行し正常に実行されること | 1. bucky run -t e2e -d -D pc -c pc_e2e_1<br/>- 以下シナリオファイル内の処理 -<br/>2. goメソッド実行 (http://bucky.net)<br/>3. assert_titleメソッド実行 | goメソッドを実行後にページ遷移されていること<br/>(assert_titleメソッドの結果がOKであることを出力される文字列で判断) |
|
20
|
+
| | Verifyが正常に実行できるか<br/>・シナリオコードに実装されたVerifyが実行できること<br/>・titleの確認ができること ※1種類のVerifyが確認できればOK | 2 | | assert_titleを実行し、正常に動作すること | 1. bucky run -t e2e -d -D pc -c pc_e2e_1<br/>- 以下シナリオファイル内の処理 -<br/>2. goメソッド実行 (http://bucky.net)<br/>3. assert_titleメソッド実行 | assert_titleメソッド実行後にエラーが発生しないこと<br/>(終了後のステータスが0であること) |
|
21
|
+
| | | 3 | | assert_titleを実行し、期待値と実際値が異なる場合に正常に検証NG時の動作をすること | 1. bucky run -t e2e -d -D pc -c pc_e2e_2<br/>- 以下シナリオファイル内の処理 -<br/>2. goメソッド実行 (http://bucky.net)<br/>3. assert_titleメソッド実行 | assert_titleメソッド実行後に検証NG判定されたことを表す文字列が表示されること |
|
22
|
+
| | 各デバイスのUAで正常に実行できるか | 4 | | デバイスPCで実行し、正常にテストが実行されること | 1. bucky run -t e2e -d -D pc -c pc_e2e_3<br/>- 以下シナリオファイル内の処理 -<br/>2. goメソッド実行 (http://bucky.net)<br/>2. assert_textメソッド実行 | assert_textでUseragentを表す文字列をチェックした結果OKであることを出力される文字列で判断<br/><br/>Linux |
|
23
|
+
| | | 5 | | デバイスSPで実行し、正常にテストが実行されること | 1. bucky run -t e2e -d -D sp -c sp_e2e_1<br/>- 以下シナリオファイル内の処理 -<br/>2. goメソッド実行 (http://bucky.net)<br/>2. assert_textメソッド実行 | assert_textでUseragentを表す文字列をチェックした結果OKであることを出力される文字列で判断<br/><br/>Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1 |
|
24
|
+
| | | 6 | | デバイスTabletで実行し、正常にテストが実行されること | 1. bucky run -t e2e -d -D tablet -c tablet_e2e_1<br/>- 以下シナリオファイル内の処理 -<br/>2. goメソッド実行 (http://bucky.net)<br/>2. assert_textメソッド実行 | assert_textでUseragentを表す文字列をチェックした結果OKであることを出力される文字列で判断<br/><br/>Mozilla/5.0 (iPad; CPU OS 11_0 like Mac OS X) AppleWebKit/604.1.34 (KHTML, like Gecko) Version/11.0 Mobile/15A5341f Safari/604.1 |
|
25
|
+
| | setup/teardown_eachが正常に動作するか | 7 | | setup_eachでgoを実行し正常に実行されること | 1. bucky run -t e2e -d -D pc -c setup_each_pc_e2e_1<br/>- 以下シナリオファイル内の処理 -<br/>2. setup内でgoメソッド実行 (http://bucky.net)<br/>3. testcase内でassert_titleメソッド実行 | goメソッドを実行後にページ遷移されていること<br/>(assert_titleメソッドの結果がOKであることを出力される文字列で判断) |
|
26
|
+
| | | 8 | | teardown_eachでgoを実行し正常に実行されること | 1. bucky run -t e2e -d -D pc -c teardown_each_pc_e2e_1<br/>- 以下シナリオファイル内の処理 -<br/>2. teardown内でgoメソッド実行 (http://bucky.net)<br/>3. testcase内でassert_titleメソッド実行 | 例外が発生していないこと(終了後のステータスが0であること)<br/>→ 「0 failures, 0 errors」 と表示されること |
|
27
|
+
| | | 9 | | setup_each/teardownを実行するケースを複数ケース続けて実行して正常に動作すること | 1. bucky run -t e2e -d -D pc -c setup_teardown_each_pc_e2e_1,setup_teardown_each_pc_e2e_2 <br/>- 以下シナリオファイル内の処理 -<br/>2. setup内でgoメソッド実行 (http://bucky.net)<br/>3. assert_titleメソッド実行<br/>4. testcase内でteardown内でgoメソッド実行 (http://bucky.net)<br/>5. setup内でgoメソッド実行 (http://bucky.net)<br/>6. testcase内でassert_titleメソッド実行<br/>7. teardown内でgoメソッド実行 (http://bucky.net) | 例外が発生していないこと(終了後のステータスが0であること)<br/>→ 「0 failures, 0 errors」 と表示されること |
|
28
|
+
| LinkStatusテスト実行機能 | 起点URLの検証が正しく実施できるか | 10 | | linkstatusを実行し、起点URLが検証されること | 1. bucky run -t linkstatus -d -D pc -c pc_link_1<br/>2. http://bucky.net に対してhttpリクエストチェック実行 | 出力に http://bucky.net が含まれること |
|
29
|
+
| | ページ内のリンクの検証が正しく実施できるか | 11 | | linkstatusを実行し、起点ページ内のリンクが検証されること | 1. bucky run -t linkstatus -d -D pc -c pc_link_1<br/>2. http://bucky.net に対してhttpリクエストチェック実行<br/>3. http://bucky.net/test_page.html に対してLinkチェック実行 | 出力に http://bucky.net/test_page.htmlが含まれること |
|
30
|
+
| | 各デバイス(PC/SP)のUAで正常に実行できるか | 12 | | デバイスPCでlinkstatusを実行し、正常に動作すること | 1. bucky run -t linkstatus -d -D pc -c pc_link_1<br/>2. http://bucky.net に対してhttpリクエストチェック実行<br/>3. http://bucky.net/test_page.html に対してLinkチェック実行 | 終了後のステータスが0であること<br/>→ 「0 failures, 0 errors」 と表示されること |
|
31
|
+
| | | 13 | | デバイスSPでlinkstatusを実行し、正常に動作すること | 1. bucky run -t linkstatus -d -D sp -c sp_link_1<br/>2. http://bucky.net に対してhttpリクエストチェック実行<br/>3. http://bucky.net/test_page.html チェック実行 | 終了後のステータスが0であること<br/>→ 「0 failures, 0 errors」 と表示されること |
|
32
|
+
| テスト用のプロジェクト作成機能 | 下記の構造のディレクトリ、ファイルが生成されること<br/>(./template/new 以下の内容)<br/>.<br/>├── config<br/>│ ├── bucky_config.yml<br/>│ ├── e2e_config.yml<br/>│ ├── for_spec<br/>│ │ └── test.yml<br/>│ ├── linkstatus_config.yml<br/>│ └── test_db_config.yml<br/>├── services<br/>│ └── README.md<br/>└── system<br/>├── evidences<br/>│ ├── README.md<br/>│ └── screen_shots<br/>│ └── README.md<br/>└── logs<br/>└── README.md | 14 | | newコマンド実行後に期待通りのファイル、ディレクトリが作成されていること | 1. bucky new test_project | 対象ディレクトリとファイルが存在していること |
|
33
|
+
| ページオブジェクト・パーツファイル作成機能 | 指定のサービス名、デバイスのディレクトリ以下に指定のページ名で.rbファイルと.ymlファイルが生成されること | 15 | | make serviceコマンド実行後に期待通りのファイルが作成されていること | 1. (事前条件) bucky new test_project<br/>2. bucky make service test_service | 対象ディレクトリとファイルが存在していること |
|
34
|
+
| | | 16 | | make pageコマンド実行後に期待通りのファイルが作成されていること | 1. (事前条件) bucky new test_project<br/>2. (事前条件) bucky make service test_service<br/>3. bucky make page test_page | 対象ディレクトリとファイルが存在していること |
|
35
|
+
| 未定義コマンド実行時の動き | 出力されるメッセージに Invalid command error. が含まれるか<br/>終了ステータスが 0 以外になるか | 17 | | 未定義コマンド実行後にエラー終了すること | 1. bucky hoge fuga | 終了後のステータスが0以外であること |
|
36
|
+
| whenを使用しての実行時の動き | 出力されるメッセージに click が含まれるか<br/>例外が発生していないこと(終了後のステータスが0であること)<br/>→ 「0 failures, 0 errors」 と表示されること | 18 | | 条件指定をしたテスト実行で不具合なくprocが実行されること | 1. STAGE=development bucky run -d -D -pc -c pc_e2e_4<br/>- 以下シナリオファイル内の処理 -<br/>2. goメソッド実行 (http://bucky.net)<br/>2. whenを使ったclickメソッド実行 | 例外が発生していないこと(終了後のステータスが0であること)<br/>→ 「0 failures, 0 errors」 と表示されること |
|
37
|
+
| whenを使用しての実行時の動き | 出力されるメッセージに click が含まれないこと(終了後のステータスが0であること) | 19 | | 条件指定をしないテスト実行で該当のprocが実行されないこと | 1. bucky run -d -D -pc -c pc_e2e_4<br/>- 以下シナリオファイル内の処理 -<br/>2. goメソッド実行 (http://bucky.net)<br/>2. whenを使ったclickメソッドは実行されない | 例外が発生していないこと(終了後のステータスが0であること)<br/>→ 「click」 が表示されないこと |
|
38
|
+
| whenを使用しての実行時の動き | 出力されるメッセージに click が含まれないこと(終了後のステータスが0であること) | 20 | | 違う条件を指定したテスト実行で該当のprocが実行されないこと | 1. STAGE=staging bucky run -d -D -pc -c pc_e2e_4<br/>- 以下シナリオファイル内の処理 -<br/>2. goメソッド実行 (http://bucky.net)<br/>2. whenを使ったclickメソッドは実行されない | 例外が発生していないこと(終了後のステータスが0であること)<br/>→ 「click」 が表示されないこと |
|
39
|
+
| 複数パーツ取得・選択機能 | Partファイルで複数取得、番号指定でエレメントが取得できること | 21 | | CSSセレクタで指定したエレメントの2つ目の要素をクリックできること | 1. bucky run -t e2e -d -D pc -c pc_e2e_5<br/>- 以下シナリオファイル内の処理 -<br/>2. goメソッド実行 (http://bucky.net)<br/>2. assert_textメソッド実行" | 終了後のステータスが0であること<br/>→ 「0 failures, 0 errors」 と表示されること |
|
@@ -73,3 +73,9 @@ setup() {
|
|
73
73
|
[ $(expr "$output" : ".*click.*") -eq 0 ]
|
74
74
|
[ $(expr "$output" : ".*0 failures, 0 errors,.*") -ne 0 ]
|
75
75
|
}
|
76
|
+
|
77
|
+
@test "#21 When click second element, results have no failures nor errors" {
|
78
|
+
run bucky run -t e2e -d -D pc -c pc_e2e_5
|
79
|
+
[ $(expr "$output" : ".*click.*") -ne 0 ]
|
80
|
+
[ $(expr "$output" : ".*0 failures, 0 errors,.*") -ne 0 ]
|
81
|
+
}
|
@@ -1,9 +1,12 @@
|
|
1
1
|
# add some parts for this page
|
2
2
|
|
3
|
-
#
|
3
|
+
# Sample ====================
|
4
4
|
# freewod_form:
|
5
5
|
# - xpath
|
6
6
|
# - "//*[@id='freeword']"
|
7
7
|
# photos:
|
8
|
-
# -
|
9
|
-
# -
|
8
|
+
# - css
|
9
|
+
# - '.photos'
|
10
|
+
# icon:
|
11
|
+
# - id
|
12
|
+
# - icon
|
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.
|
4
|
+
version: 0.9.10
|
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-
|
16
|
+
date: 2019-07-02 00:00:00.000000000 Z
|
17
17
|
dependencies:
|
18
18
|
- !ruby/object:Gem::Dependency
|
19
19
|
name: awesome_print
|