bucky-core 0.9.10 → 0.9.11

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: 9e3cf3993f681951c906a45815751a0e9614e9b7
4
- data.tar.gz: 38172d387adbc7e80fc86b2776c3c158e0b97a0f
3
+ metadata.gz: 615990b26e294ad53bd00a796a530a2df0c7e182
4
+ data.tar.gz: a8ec5a655e5d1dc0d52f8e3e14741da7c7dae530
5
5
  SHA512:
6
- metadata.gz: e6dcb6548bc532ed6ed1dc39628c1613d10fb43173daeae5f5f376548c7b47621a3169a7725409ad547a8870d082adbf5dcc206b608b90c00b48388093947d11
7
- data.tar.gz: 79c354951b3e7134327deca39afbcdda7c9016bd4bde26cf48d704b4605c51845cd728bb7bb2703bbd041929a89caaeb1d77a2104768feb44c19414a77004f1d
6
+ metadata.gz: 52ffc8308d95f47591c4f0c640b26c00a3065338a39714f87213983ca1e762ca4d6df794ae57705325f06a5a1c6e2c8be050207471f1324a15b08b162c55aa20
7
+ data.tar.gz: 65f1321eb76cfa31516d01f6a20ade986a78201bdf00f8bac8e9baf8f9b6c5e07ed8a61021c29c898d7b08a38031064140313bc5fa372c5336997a248add6ed8
@@ -2,7 +2,6 @@
2
2
 
3
3
  require_relative '../../utils/yaml_load'
4
4
  require_relative '../../core/exception/bucky_exception'
5
-
6
5
  module Bucky
7
6
  module TestEquipment
8
7
  module PageObject
@@ -53,15 +52,16 @@ module Bucky
53
52
  method_name = method.downcase.to_sym
54
53
  raise StandardError, "Invalid finder. #{method_name}" unless FINDERS.key? method_name
55
54
 
56
- elem = @driver.find_elements(method_name, value)
57
- raise_if_element_empty(elem, method_name, value)
58
- elem
55
+ elements = @driver.find_elements(method_name, value)
56
+ raise_if_elements_empty(elements, method_name, value)
57
+ elements.first.instance_eval { define_singleton_method('[]') { |num| elements[num] } }
58
+ elements.first
59
59
  rescue StandardError => e
60
60
  Bucky::Core::Exception::WebdriverException.handle(e)
61
61
  end
62
62
 
63
- def raise_if_element_empty(elem, method, value)
64
- raise Selenium::WebDriver::Error::NoSuchElementError, "#{method} #{value}" if elem.empty?
63
+ def raise_if_elements_empty(elements, method, value)
64
+ raise Selenium::WebDriver::Error::NoSuchElementError, "#{method} #{value}" if elements.empty?
65
65
  end
66
66
  end
67
67
  end
@@ -37,7 +37,7 @@ module Bucky
37
37
  def get_part(args)
38
38
  return send(args[:page]).send(args[:part][:locate])[args[:part][:num]] if part_plural?(args)
39
39
 
40
- send(args[:page]).send(args[:part]).first
40
+ send(args[:page]).send(args[:part])
41
41
  end
42
42
 
43
43
  # @param [Hash] args
@@ -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]).first.send(@operation)
55
+ @pages.send(args[:page]).send(args[:part]).send(@operation)
56
56
  end
57
57
  end
58
58
  end
data/lib/bucky/version.rb CHANGED
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Bucky
4
4
  module Version
5
- VERSION = '0.9.10'
5
+ VERSION = '0.9.11'
6
6
  end
7
7
  end
@@ -6,6 +6,13 @@ module Services
6
6
  module Pc
7
7
  module PageObject
8
8
  class Index < Bucky::TestEquipment::PageObject::BasePageObject
9
+ def click_single_element(_)
10
+ links.click
11
+ end
12
+
13
+ def click_multiple_element(_)
14
+ links[1].click
15
+ end
9
16
  end
10
17
  end
11
18
  end
@@ -80,4 +80,52 @@ cases:
80
80
  page: index
81
81
  part:
82
82
  locate: links
83
- num: 1
83
+ num: 1
84
+ - case_name: pc_e2e_6
85
+ func: pc e2e 6 get element from PageObject
86
+ desc: pc e2e 6 click the single element from PageObject
87
+ procs:
88
+ - proc: open index
89
+ exec:
90
+ operate: go
91
+ url: http://bucky.net
92
+ - proc: index
93
+ exec:
94
+ operate: click_single_element
95
+ page: index
96
+ - case_name: pc_e2e_7
97
+ func: pc e2e 7 get multiple element from PageObject
98
+ desc: pc e2e 7 click the second element in multiple element from PageObject
99
+ procs:
100
+ - proc: open index
101
+ exec:
102
+ operate: go
103
+ url: http://bucky.net
104
+ - proc: index
105
+ exec:
106
+ operate: click_multiple_element
107
+ page: index
108
+ - case_name: pc_e2e_8
109
+ func: pc e2e 8 get element from Verifications
110
+ desc: pc e2e 8 click the single element from Verifications
111
+ procs:
112
+ - proc: open index
113
+ exec:
114
+ operate: go
115
+ url: http://bucky.net
116
+ - proc: index
117
+ exec:
118
+ verify: click_single_element
119
+ page: index
120
+ - case_name: pc_e2e_9
121
+ func: pc e2e 9 get multiple element from Verifications
122
+ desc: pc e2e 9 click the second element in multiple element from Verifications
123
+ procs:
124
+ - proc: open index
125
+ exec:
126
+ operate: go
127
+ url: http://bucky.net
128
+ - proc: index
129
+ exec:
130
+ verify: click_multiple_element
131
+ page: index
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'bucky/test_equipment/verifications/e2e_verification'
4
+ module Services
5
+ module ServiceA
6
+ module Pc
7
+ module Verifications
8
+ class Index < Bucky::TestEquipment::Verifications::E2eVerification
9
+ def click_single_element(_)
10
+ @pages.index.links.click
11
+ end
12
+
13
+ def click_multiple_element(_)
14
+ @pages.index.links[1].click
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
@@ -14,26 +14,30 @@ docker-compose -f docker-compose.system-test.yml down
14
14
  ※ Only Japanese now.
15
15
  ※ テストケースNo.はbatsのケース説明部分に記載し、対応づけを行う
16
16
 
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」 と表示されること |
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メソッド実行 | 例外が発生していないこと(終了後のステータスが0であること)<br/>→ 「0 failures, 0 errors」 と表示されること |
37
+ | | 出力されるメッセージに 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
+ | | | 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」 と表示されること |
40
+ | PageObjectでのWebElement取得 | PageObjectファイルからパーツ(WebElement)が取得できること | 22 | PageObjectファイルからパーツ名でWebElementが取得できること | 1. bucky run -t e2e -d -D pc -c pc_e2e_6<br/>- 以下シナリオファイル内の処理 -<br/>2. goメソッド実行 (http://bucky.net)<br/>2. PageObjectメソッド click_single_element | 終了後のステータスが0であること<br/>→ 「0 failures, 0 errors」 と表示されること |
41
+ | | | 23 | PageObjectファイルからパーツ名[数字]でWebElementが取得できること | 1. bucky run -t e2e -d -D pc -c pc_e2e_7<br/>- 以下シナリオファイル内の処理 -<br/>2. goメソッド実行 (http://bucky.net)<br/>2. PageObjectメソッド click_multiple_element | 終了後のステータスが0であること<br/>→ 「0 failures, 0 errors」 と表示されること |
42
+ | VerificationでのWebElement取得 | Verificationファイルからパーツ(WebElement)が取得できること | 24 | Verificationファイルからパーツ名でWebElementが取得できること | 1. bucky run -t e2e -d -D pc -c pc_e2e_8<br/>- 以下シナリオファイル内の処理 -<br/>2. goメソッド実行 (http://bucky.net)<br/>2. Verificationメソッド click_single_element | 終了後のステータスが0であること<br/>→ 「0 failures, 0 errors」 と表示されること |
43
+ | | | 25 | Verificationファイルからパーツ名[数字]でWebElementが取得できること | 1. bucky run -t e2e -d -D pc -c pc_e2e_9<br/>- 以下シナリオファイル内の処理 -<br/>2. goメソッド実行 (http://bucky.net)<br/>2. Verificationメソッド click_multiple_element | 終了後のステータスが0であること<br/>→ 「0 failures, 0 errors」 と表示されること |
@@ -74,8 +74,27 @@ setup() {
74
74
  [ $(expr "$output" : ".*0 failures, 0 errors,.*") -ne 0 ]
75
75
  }
76
76
 
77
- @test "#21 When click second element, results have no failures nor errors" {
77
+ @test "#21 When click second element from scenario, results have no failures nor errors" {
78
78
  run bucky run -t e2e -d -D pc -c pc_e2e_5
79
- [ $(expr "$output" : ".*click.*") -ne 0 ]
80
79
  [ $(expr "$output" : ".*0 failures, 0 errors,.*") -ne 0 ]
81
80
  }
81
+
82
+ @test "#22 When click element from PageObject file, results have no failures nor errors" {
83
+ run bucky run -t e2e -d -D pc -c pc_e2e_6
84
+ [ $(expr "$output" : ".*0 failures, 0 errors,.*") -ne 0 ]
85
+ }
86
+
87
+ @test "#23 When click second element from PageObject file, results have no failures nor errors" {
88
+ run bucky run -t e2e -d -D pc -c pc_e2e_7
89
+ [ $(expr "$output" : ".*0 failures, 0 errors,.*") -ne 0 ]
90
+ }
91
+
92
+ @test "#24 When click element from Verification file, results have no failures nor errors" {
93
+ run bucky run -t e2e -d -D pc -c pc_e2e_8
94
+ [ $(expr "$output" : ".*0 failures, 0 errors,.*") -ne 0 ]
95
+ }
96
+
97
+ @test "#25 When click second element from Verification file, results have no failures nor errors" {
98
+ run bucky run -t e2e -d -D pc -c pc_e2e_9
99
+ [ $(expr "$output" : ".*0 failures, 0 errors,.*") -ne 0 ]
100
+ }
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.10
4
+ version: 0.9.11
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-07-02 00:00:00.000000000 Z
16
+ date: 2019-07-04 00:00:00.000000000 Z
17
17
  dependencies:
18
18
  - !ruby/object:Gem::Dependency
19
19
  name: awesome_print
@@ -395,6 +395,7 @@ files:
395
395
  - system_testing/test_bucky_project/services/service_a/pc/scenarios/e2e/setup_teardown_each_pc_e2e.yml
396
396
  - system_testing/test_bucky_project/services/service_a/pc/scenarios/e2e/teardown_each_pc_e2e.yml
397
397
  - system_testing/test_bucky_project/services/service_a/pc/scenarios/linkstatus/pc_link.yml
398
+ - system_testing/test_bucky_project/services/service_a/pc/verifications/index.rb
398
399
  - system_testing/test_bucky_project/services/service_a/sp/pageobject/index.rb
399
400
  - system_testing/test_bucky_project/services/service_a/sp/parts/index.yml
400
401
  - system_testing/test_bucky_project/services/service_a/sp/scenarios/e2e/sp_e2e_test.yml