bucky-core 0.9.9 → 0.9.10

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 511f7d022e41f5fe5a353ea6be91b3362472473c
4
- data.tar.gz: a3fa9b4be74f2e8dbb67a8c1f3c881633e9c6906
3
+ metadata.gz: 9e3cf3993f681951c906a45815751a0e9614e9b7
4
+ data.tar.gz: 38172d387adbc7e80fc86b2776c3c158e0b97a0f
5
5
  SHA512:
6
- metadata.gz: a0141531d6df2501b8f69286e093f47a0ccd36c3f23dce749e5c676f3b84793df06e342f50848bcb691d12078348c9ff31a01c007162ac2e5ceb72a2e449f603
7
- data.tar.gz: 84ad1fabdff7acb7571f742d86c22de5dd7539f10ffaf94222b23d8b506a66f32353d5d73a68ad94cf1fa8f1fb839a199c9de16363c1289d393be47b307ee151
6
+ metadata.gz: e6dcb6548bc532ed6ed1dc39628c1613d10fb43173daeae5f5f376548c7b47621a3169a7725409ad547a8870d082adbf5dcc206b608b90c00b48388093947d11
7
+ data.tar.gz: 79c354951b3e7134327deca39afbcdda7c9016bd4bde26cf48d704b4605c51845cd728bb7bb2703bbd041929a89caaeb1d77a2104768feb44c19414a77004f1d
@@ -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
@@ -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
- ENV BATS_VER 1.1.0
26
- RUN curl -sL "https://github.com/bats-core/bats-core/archive/v${BATS_VER}.tar.gz" | tar zx -C /var/opt \
27
- && cd "/var/opt/bats-core-${BATS_VER}/" && ./install.sh /usr/local \
28
- && rm -rf "/var/opt/bats-core-${BATS_VER}/"
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
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- bucky-core (0.9.7)
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.2)
77
- selenium-webdriver (3.142.2)
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)
@@ -17,7 +17,7 @@ services:
17
17
  networks:
18
18
  - bucky-management_default
19
19
  chrome:
20
- image: selenium/standalone-chrome-debug:3.11.0
20
+ image: selenium/standalone-chrome-debug:3.141.59-oxygen
21
21
  container_name: chrome
22
22
  ports:
23
23
  - '4444:4444'
@@ -10,7 +10,7 @@ services:
10
10
  - .sample:/app
11
11
  tty: true
12
12
  chrome:
13
- image: selenium/standalone-chrome-debug:3.11.0
13
+ image: selenium/standalone-chrome-debug:3.141.59-oxygen
14
14
  container_name: chrome
15
15
  ports:
16
16
  - '4444:4444'
@@ -10,7 +10,7 @@ services:
10
10
  tty: true
11
11
  chrome:
12
12
  container_name: bucky-chrome
13
- image: selenium/standalone-chrome-debug:3.11.0
13
+ image: selenium/standalone-chrome-debug:3.141.59-oxygen
14
14
  ports:
15
15
  - '4444:4444'
16
16
  # For local debug
@@ -10,10 +10,15 @@
10
10
  }
11
11
  </script>
12
12
  </head>
13
-
14
- <body>
15
- <a id="test_link" href="/test_page.html">Go to test page</a>
16
- <div id="user_agent"></div>
17
- </body>
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] paga_name
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
- if method.end_with?('s')
39
- elem = @driver.find_elements(method.sub(/s$/, '').to_sym, value)
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.find_element(method.to_sym, value)
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
@@ -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])
40
+ send(args[:page]).send(args[:part]).first
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]).send(@operation)
55
+ @pages.send(args[:page]).send(args[:part]).first.send(@operation)
56
56
  end
57
57
  end
58
58
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Bucky
4
4
  module Version
5
- VERSION = '0.9.9'
5
+ VERSION = '0.9.10'
6
6
  end
7
7
  end
@@ -3,4 +3,7 @@ link:
3
3
  - "//*[@id='test_link']"
4
4
  ua:
5
5
  - xpath
6
- - "//*[@id='user_agent']"
6
+ - "//*[@id='user_agent']"
7
+ links:
8
+ - css
9
+ - '.links'
@@ -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メソッド実行 | 例外が発生していないこと(終了後のステータスが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」 が表示されないこと |
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
+ }
@@ -5,5 +5,8 @@
5
5
  # - xpath
6
6
  # - "//*[@id='freeword']"
7
7
  # photos:
8
- # - xpaths
9
- # - "//*[@class='photo']"
8
+ # - css
9
+ # - '.photos'
10
+ # icon:
11
+ # - id
12
+ # - icon
@@ -1,9 +1,12 @@
1
1
  # add some parts for this page
2
2
 
3
- # sample ====================
3
+ # Sample ====================
4
4
  # freewod_form:
5
5
  # - xpath
6
6
  # - "//*[@id='freeword']"
7
7
  # photos:
8
- # - xpaths
9
- # - "//*[@class='photo']"
8
+ # - css
9
+ # - '.photos'
10
+ # icon:
11
+ # - id
12
+ # - icon
@@ -5,5 +5,8 @@
5
5
  # - xpath
6
6
  # - "//*[@id='freeword']"
7
7
  # photos:
8
- # - xpaths
9
- # - "//*[@class='photo']"
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.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-06-25 00:00:00.000000000 Z
16
+ date: 2019-07-02 00:00:00.000000000 Z
17
17
  dependencies:
18
18
  - !ruby/object:Gem::Dependency
19
19
  name: awesome_print