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 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