bucky-core 0.10.14 → 0.10.17

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
  SHA256:
3
- metadata.gz: 0d707ed46592faf5ea66d1e1cb9201aa59bcd3c2959ee7d9a445763ec49511f4
4
- data.tar.gz: 0a8ee487e345f3a7fbbbf37920dc48ccfcc106d5f30a206f5845869459223b59
3
+ metadata.gz: 828c8502067f7be7e163f12084d0eac329201a51ce95eff6b72b4385fbd508c3
4
+ data.tar.gz: e705af8f1174573260b267e5b9be4636562ca893a7c667007bed1fdca7b21cc3
5
5
  SHA512:
6
- metadata.gz: 104bc7662af8ccd6739f87c4e9fa7b44853b20617456c3e3891bf5501e60c87a30d0ceca5eaf3683a169b6a70e2220936bec0684fdd298e980781559372984b6
7
- data.tar.gz: fa0026be7ba175c1a5b5f6dac762ee273db31ef4b3c598e385a29ffb1e52eb63ee4b46ef3999ff1885771006cdbd508533f032852e5f8971ebb7f0e832420c79
6
+ metadata.gz: 1159630606ed77a9b95882e4ad7209c278b3845b7f7c1f130a4d7c078f78b3275bfd3801d1018ac4e85cda167b5914a3d5b975060de44669a35112074d7102d8
7
+ data.tar.gz: 645d3ff4b6208182f0dbd466a3127c8914f56c7ba9b9be57bd94cd8d5c3487a660afac543fa8b36259fcc5d272e3a89816bb0bb103cdbd0aa2b208423b3a2411
data/.rubocop.yml CHANGED
@@ -13,7 +13,7 @@ AllCops:
13
13
  AbcSize:
14
14
  Enabled: false
15
15
 
16
- # Allow method prefix start with "set_" and "get_"
16
+ # Allow method prefix start with 'set_' and 'get_'
17
17
  AccessorMethodName:
18
18
  Enabled: false
19
19
 
@@ -46,7 +46,7 @@ FrozenStringLiteralComment:
46
46
  GlobalVars:
47
47
  AllowedVariables: [$bucky_home_dir, $debug, $job_id, $round]
48
48
 
49
- # Not allow using "->" for multi-line lambdas.
49
+ # Not allow using '->' for multi-line lambdas.
50
50
  Lambda:
51
51
  Enabled: false
52
52
 
@@ -61,7 +61,7 @@ MethodLength:
61
61
  Enabled: false
62
62
 
63
63
  ModuleLength:
64
- Max: 130
64
+ Max: 140
65
65
  Exclude:
66
66
  - 'spec/**/*.rb'
67
67
 
@@ -77,4 +77,4 @@ ClassLength:
77
77
 
78
78
  Lint/UselessAccessModifier:
79
79
  Exclude:
80
- - 'example/**/*'
80
+ - 'example/**/*'
data/Dockerfile CHANGED
@@ -9,6 +9,7 @@ RUN apk update && \
9
9
  build-base \
10
10
  curl-dev \
11
11
  git \
12
+ iproute2-minimal \
12
13
  libxml2-dev \
13
14
  libxslt-dev \
14
15
  linux-headers \
data/Dockerfile.dev ADDED
@@ -0,0 +1,41 @@
1
+ FROM ruby:2.5.8-alpine
2
+ ENV LANG ja_JP.UTF-8
3
+ ENV PAGER busybox less
4
+
5
+ RUN apk update && \
6
+ apk upgrade && \
7
+ apk add --update\
8
+ bash \
9
+ build-base \
10
+ curl-dev \
11
+ iproute2-minimal \
12
+ git \
13
+ libxml2-dev \
14
+ libxslt-dev \
15
+ linux-headers \
16
+ mysql-dev \
17
+ openssh \
18
+ ruby-dev \
19
+ ruby-json \
20
+ tzdata \
21
+ yaml \
22
+ yaml-dev \
23
+ zlib-dev
24
+
25
+ ENV BC_DIR /bucky-core/
26
+ ENV PATH /bucky-core/exe/:$PATH
27
+ WORKDIR $BC_DIR
28
+ COPY . $BC_DIR
29
+ RUN \
30
+ gem install bundler -v 1.17.3 && \
31
+ echo 'gem: --no-document' >> ~/.gemrc && \
32
+ cp ~/.gemrc /etc/gemrc && \
33
+ chmod uog+r /etc/gemrc && \
34
+ bundle config --global build.nokogiri --use-system-libraries && \
35
+ bundle config --global jobs 4 && \
36
+ bundle install && \
37
+ rm -rf ~/.gem
38
+
39
+ WORKDIR /app
40
+ RUN chown -R nobody:nobody /app
41
+ USER nobody
@@ -3,30 +3,31 @@ ENV LANG ja_JP.UTF-8
3
3
  ENV PAGER busybox less
4
4
 
5
5
  RUN apk update && \
6
- apk upgrade && \
7
- apk add --update\
8
- bash \
9
- build-base \
10
- curl-dev \
11
- git \
12
- libxml2-dev \
13
- libxslt-dev \
14
- linux-headers \
15
- mysql-dev \
16
- openssh \
17
- ruby-dev \
18
- ruby-json \
19
- tzdata \
20
- yaml \
21
- yaml-dev \
22
- zlib-dev \
23
- curl \
24
- parallel
6
+ apk upgrade && \
7
+ apk add --update\
8
+ bash \
9
+ build-base \
10
+ curl-dev \
11
+ git \
12
+ iproute2-minimal \
13
+ libxml2-dev \
14
+ libxslt-dev \
15
+ linux-headers \
16
+ mysql-dev \
17
+ openssh \
18
+ ruby-dev \
19
+ ruby-json \
20
+ tzdata \
21
+ yaml \
22
+ yaml-dev \
23
+ zlib-dev \
24
+ curl \
25
+ parallel
25
26
 
26
27
  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
28
+ && cd /tmp/bats-core \
29
+ && ./install.sh /usr/local \
30
+ && rm -rf /tmp/bats-core
30
31
 
31
32
  ENV BC_DIR /bucky-core/
32
33
  ENV PATH /bucky-core/exe/:$PATH
@@ -3,7 +3,7 @@ services:
3
3
  bucky-core:
4
4
  build:
5
5
  context: .
6
- dockerfile: Dockerfile
6
+ dockerfile: Dockerfile.dev
7
7
  container_name: bucky-core
8
8
  volumes:
9
9
  - .:/bucky-core
@@ -3,7 +3,7 @@ services:
3
3
  bucky-core:
4
4
  build:
5
5
  context: .
6
- dockerfile: Dockerfile
6
+ dockerfile: Dockerfile.dev
7
7
  container_name: bucky-core
8
8
  volumes:
9
9
  - .:/bucky-core
@@ -37,7 +37,6 @@ module Bucky
37
37
 
38
38
  def click(args)
39
39
  elem = @pages.get_part(args)
40
- @driver.execute_script("arguments[0].scrollIntoView();", elem)
41
40
  # when click successfully, return of click is nil.
42
41
  wait_until_helper(5, 0.1, Selenium::WebDriver::Error::WebDriverError) { elem.click.nil? }
43
42
  end
@@ -133,9 +133,12 @@ module Bucky
133
133
 
134
134
  # Exclude url if it has "*" in the last of it
135
135
  exclude_urls.each do |ex_url|
136
- next unless ex_url.end_with?('*')
137
-
138
- excluded_links.delete_if { |l| l.start_with?(ex_url.delete('*')) }
136
+ if ex_url.end_with?('*')
137
+ excluded_links.delete_if { |l| l.start_with?(ex_url.delete('*')) }
138
+ elsif ex_url.start_with?('/') && ex_url.end_with?('/')
139
+ ex_url.delete_prefix!('/').delete_suffix!('/')
140
+ excluded_links.delete_if { |l| l.match(/#{ex_url}/) }
141
+ end
139
142
  end
140
143
 
141
144
  excluded_links
data/lib/bucky/version.rb CHANGED
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Bucky
4
4
  module Version
5
- VERSION = '0.10.14'
5
+ VERSION = '0.10.17'
6
6
  end
7
7
  end
@@ -0,0 +1,12 @@
1
+ desc: pc linkstatus test suites
2
+ device: pc
3
+ service: service_a
4
+ priority: high
5
+ test_category: linkstatus
6
+ exclude_urls:
7
+ - http://bucky.net/test*
8
+ cases:
9
+ - case_name: pc_link_exclude_asterisk_1
10
+ desc: pc linkstatus test 1
11
+ urls:
12
+ - http://bucky.net
@@ -0,0 +1,12 @@
1
+ desc: pc linkstatus test suites
2
+ device: pc
3
+ service: service_a
4
+ priority: high
5
+ test_category: linkstatus
6
+ exclude_urls:
7
+ - http://bucky.net/test_page.html
8
+ cases:
9
+ - case_name: pc_link_exclude_normal_1
10
+ desc: pc linkstatus test 1
11
+ urls:
12
+ - http://bucky.net
@@ -0,0 +1,12 @@
1
+ desc: pc linkstatus test suites
2
+ device: pc
3
+ service: service_a
4
+ priority: high
5
+ test_category: linkstatus
6
+ exclude_urls:
7
+ - /http://bucky.net/.*_page.*/
8
+ cases:
9
+ - case_name: pc_link_exclude_regex_1
10
+ desc: pc linkstatus test 1
11
+ urls:
12
+ - http://bucky.net
@@ -11,9 +11,13 @@ docker-compose -f docker-compose.system-test.yml down
11
11
  ```
12
12
 
13
13
  # Test case specification
14
+
14
15
  ※ Only Japanese now.
16
+
15
17
  ※ テストケースNo.はbatsのケース説明部分に記載し、対応づけを行う
16
18
 
19
+ ## E2Eテスト実行機能
20
+
17
21
  | テスト条件 | テスト観点 | テストケース<br/>No. | テストケース | テスト手順 | 期待結果 |
18
22
  |:--|:--|--:|:--|:--|:--|
19
23
  | 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であることを出力される文字列で判断) |
@@ -25,20 +29,33 @@ docker-compose -f docker-compose.system-test.yml down
25
29
  | | 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
30
  | | | 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
31
  | | | 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 | linkstatusNGテストを実行し、正常に動作すること | 1. bucky run -t linkstatus -d -D pc -c pc_link_2<br/>2. http://bucky-error.net に対してhttpリクエストチェック実行 | 終了後のステータスが1であること |
32
- | | | 14 | デバイス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」 と表示されること |
33
- | テスト用のプロジェクト作成機能 | 下記の構造のディレクトリ、ファイルが生成されること<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 | 15 | newコマンド実行後に期待通りのファイル、ディレクトリが作成されていること | 1. bucky new test_project | 対象ディレクトリとファイルが存在していること |
34
- | ページオブジェクト・パーツファイル作成機能 | 指定のサービス名、デバイスのディレクトリ以下に指定のページ名で.rbファイルと.ymlファイルが生成されること | 16 | make serviceコマンド実行後に期待通りのファイルが作成されていること | 1. (事前条件) bucky new test_project<br/>2. bucky make service test_service | 対象ディレクトリとファイルが存在していること |
35
- | | | 17 | make pageコマンド実行後に期待通りのファイルが作成されていること | 1. (事前条件) bucky new test_project<br/>2. (事前条件) bucky make service test_service<br/>3. bucky make page test_page | 対象ディレクトリとファイルが存在していること |
36
- | 未定義コマンド実行時の動き | 出力されるメッセージに Invalid command error. が含まれるか<br/>終了ステータスが 0 以外になるか | 18 | 未定義コマンド実行後にエラー終了すること | 1. bucky hoge fuga | 終了後のステータスが0以外であること |
37
- | whenを使用しての実行時の動き | 出力されるメッセージに click が含まれるか<br/>例外が発生していないこと(終了後のステータスが0であること)<br/>→ 「0 failures, 0 errors」 と表示されること | 19 | 条件指定をしたテスト実行で不具合なく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」 と表示されること |
38
- | | 出力されるメッセージに click が含まれないこと(終了後のステータスが0であること) | 20 | 条件指定をしないテスト実行で該当の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」 が表示されないこと |
39
- | | | 21 | 違う条件を指定したテスト実行で該当の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」 が表示されないこと |
40
- | 複数パーツ取得・選択機能 | Partファイルで複数取得、番号指定でエレメントが取得できること | 22 | 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」 と表示されること |
41
- | PageObjectでのWebElement取得 | PageObjectファイルからパーツ(WebElement)が取得できること | 23 | 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」 と表示されること |
42
- | | | 24 | 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」 と表示されること |
43
- | VerificationでのWebElement取得 | Verificationファイルからパーツ(WebElement)が取得できること | 25 | 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」 と表示されること |
44
- | | | 26 | 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」 と表示されること |
32
+ | whenを使用しての実行時の動き | 出力されるメッセージに click が含まれるか<br/>例外が発生していないこと(終了後のステータスが0であること)<br/>→ 「0 failures, 0 errors」 と表示されること | 10 | 条件指定をしたテスト実行で不具合なく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」 と表示されること |
33
+ | | 出力されるメッセージに click が含まれないこと(終了後のステータスが0であること) | 11 | 条件指定をしないテスト実行で該当の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」 が表示されないこと |
34
+ | | | 12 | 違う条件を指定したテスト実行で該当の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が表示されないこと |
35
+ | 複数パーツ取得・選択機能 | Partファイルで複数取得、番号指定でエレメントが取得できること | 13 | 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」 と表示されること |
36
+ | PageObjectでのWebElement取得 | PageObjectファイルからパーツ(WebElement)が取得できること | 14 | 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」 と表示されること |
37
+ | | | 15 | 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」 と表示されること |
38
+ | VerificationでのWebElement取得 | Verificationファイルからパーツ(WebElement)が取得できること | 16 | 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」 と表示されること |
39
+ | | | 17 | 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」 と表示されること |
40
+
41
+ ## Linkstatusテスト実行機能
42
+
43
+ | テスト条件 | テスト観点 | テストケース<br/>No. | テストケース | テスト手順 | 期待結果 |
44
+ |:--|:--|--:|:--|:--|:--|
45
+ | LinkStatusテスト実行機能 | 起点URLの検証が正しく実施できるか | 1 | linkstatusを実行し、起点URLが検証されること | 1. bucky run -t linkstatus -d -D pc -c pc_link_1<br/>2. http://bucky.net に対してhttpリクエストチェック実行 | 出力に http://bucky.net が含まれること |
46
+ | | ページ内のリンクの検証が正しく実施できるか | 2 | 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が含まれること |
47
+ | | 各デバイス(PC/SP)のUAで正常に実行できるか | 3 | デバイス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」 と表示されること |
48
+ | | | 4 | linkstatusNGテストを実行し、正常に動作すること | 1. bucky run -t linkstatus -d -D pc -c pc_link_2<br/>2. http://bucky-error.net に対してhttpリクエストチェック実行 | 終了後のステータスが1であること |
49
+ | | | 5 | デバイス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」 と表示されること |
50
+ | | | 6 | 通常のURL除外機能が正常に動作すること | 1. bucky run -t linkstatus -d -D pc -c pc_link_exclude_normal_1<br/>2. http://bucky.net に対してhttpリクエストチェック実行<br/>3. http://bucky.net/test_page.html チェック実行 | 終了後のステータスが0であること<br/>→ 出力に http://bucky.net/test_page.htmlが含まれないこと |
51
+ | | | 7 | アスタリスクを含むURL除外機能が正常に動作すること | 1. bucky run -t linkstatus -d -D pc -c pc_link_exclude_asterisk_1<br/>2. http://bucky.net に対してhttpリクエストチェック実行<br/>3. http://bucky.net/test_page.html チェック実行 | 終了後のステータスが0であること<br/>→ 出力に http://bucky.net/test_page.htmlが含まれないこと |
52
+ | | | 8 | 正規表現によるURL除外機能が正常に動作すること | 1. bucky run -t linkstatus -d -D pc -c pc_link_exclude_regex_1<br/>2. http://bucky.net に対してhttpリクエストチェック実行<br/>3. http://bucky.net/test_page.html チェック実行 | 終了後のステータスが0であること<br/>→ 出力に http://bucky.net/test_page.htmlが含まれないこと |
53
+
54
+ ## Buckyコマンド実行機能
55
+
56
+ | テスト条件 | テスト観点 | テストケース<br/>No. | テストケース | テスト手順 | 期待結果 |
57
+ |:--|:--|--:|:--|:--|:--|
58
+ | テスト用のプロジェクト作成機能 | 下記の構造のディレクトリ、ファイルが生成されること<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 | 1 | newコマンド実行後に期待通りのファイル、ディレクトリが作成されていること | 1. bucky new test_project | 対象ディレクトリとファイルが存在していること |
59
+ | ページオブジェクト・パーツファイル作成機能 | 指定のサービス名、デバイスのディレクトリ以下に指定のページ名で.rbファイルと.ymlファイルが生成されること | 2 | make serviceコマンド実行後に期待通りのファイルが作成されていること | 1. (事前条件) bucky new test_project<br/>2. bucky make service test_service | 対象ディレクトリとファイルが存在していること |
60
+ | | | 3 | make pageコマンド実行後に期待通りのファイルが作成されていること | 1. (事前条件) bucky new test_project<br/>2. (事前条件) bucky make service test_service<br/>3. bucky make page test_page | 対象ディレクトリとファイルが存在していること |
61
+ | 未定義コマンド実行時の動き | 出力されるメッセージに Invalid command error. が含まれるか<br/>終了ステータスが 0 以外になるか | 4 | 未定義コマンド実行後にエラー終了すること | 1. bucky hoge fuga | 終了後のステータスが0以外であること |
@@ -13,19 +13,19 @@ teardown() {
13
13
  rm -rf /tmp/$BUCKY_PROJECT_NAME
14
14
  }
15
15
 
16
- @test "#15 After executing 'new' command, expected files and directories are created" {
16
+ @test "[command] #1 After executing 'new' command, expected files and directories are created" {
17
17
  run diff /bucky-core/template/new/ /tmp/$BUCKY_PROJECT_NAME
18
18
  [ $status -eq 0 ]
19
19
  }
20
20
 
21
- @test "#16 After executing 'make service' command, expected directory is created" {
21
+ @test "[command] #2 After executing 'make service' command, expected directory is created" {
22
22
  cd /tmp/$BUCKY_PROJECT_NAME
23
23
  bucky make service $TEST_SERVICE
24
24
  run ls /tmp/$BUCKY_PROJECT_NAME/services/$TEST_SERVICE
25
25
  [ $status -eq 0 ]
26
26
  }
27
27
 
28
- @test "#17 After executing 'make page' command, expected page and parts file are created" {
28
+ @test "[command] #3 After executing 'make page' command, expected page and parts file are created" {
29
29
  cd /tmp/$BUCKY_PROJECT_NAME
30
30
  bucky make service $TEST_SERVICE
31
31
  bucky make page test_page --service $TEST_SERVICE --device pc
@@ -35,7 +35,7 @@ teardown() {
35
35
  [ $status -eq 0 ]
36
36
  }
37
37
 
38
- @test "#18 After executing undefined command, show error message and exit" {
38
+ @test "[command] #4 After executing undefined command, show error message and exit" {
39
39
  cd /tmp/$BUCKY_PROJECT_NAME
40
40
  run bucky hoge fuga
41
41
  [ $(expr "$output" : ".*Invalid command error.*") -ne 0 ]
@@ -4,99 +4,99 @@ setup() {
4
4
  cd /bucky-core/system_testing/test_bucky_project
5
5
  }
6
6
 
7
- @test "#01 After executing e2e operate go, results have no failures nor errors" {
7
+ @test "[e2e] #01 After executing e2e operate go, results have no failures nor errors" {
8
8
  run bucky run -t e2e -d -D pc -c pc_e2e_1
9
9
  [ $(expr "$output" : ".*0 failures, 0 errors,.*") -ne 0 ]
10
10
  }
11
11
 
12
- @test "#02 After executing e2e verify assert_title, results contain verify words, no failures/errors and exit code is 0" {
12
+ @test "[e2e] #02 After executing e2e verify assert_title, results contain verify words, no failures/errors and exit code is 0" {
13
13
  run bucky run -t e2e -d -D pc -c pc_e2e_1
14
14
  [ $status -eq 0 ]
15
15
  [ $(expr "$output" : ".*:verify.*assert_title.*") -ne 0 ]
16
16
  [ $(expr "$output" : ".*0 failures, 0 errors,.*") -ne 0 ]
17
17
  }
18
18
 
19
- @test "#03 After executing e2e verify assert_title, results contain verify words and 1 failure and exit code is 1" {
19
+ @test "[e2e] #03 After executing e2e verify assert_title, results contain verify words and 1 failure and exit code is 1" {
20
20
  run bucky run -t e2e -d -D pc -c pc_e2e_2
21
21
  [ $status -eq 1 ]
22
22
  [ $(expr "$output" : ".*:verify.*assert_title.*") -ne 0 ]
23
23
  [ $(expr "$output" : ".*1 failures.*") -ne 0 ]
24
24
  }
25
25
 
26
- @test "#04 After executing e2e on pc , results contain 'Linux' and no failures/errors." {
26
+ @test "[e2e] #04 After executing e2e on pc , results contain 'Linux' and no failures/errors." {
27
27
  run bucky run -t e2e -d -D pc -c pc_e2e_3
28
28
  [ $(expr "$output" : ".*Linux.*") -ne 0 ]
29
29
  [ $(expr "$output" : ".*0 failures, 0 errors,.*") -ne 0 ]
30
30
  }
31
31
 
32
- @test "#05 After executing e2e on sp , results contain 'iPhone' and no failures/errors." {
32
+ @test "[e2e] #05 After executing e2e on sp , results contain 'iPhone' and no failures/errors." {
33
33
  run bucky run -t e2e -d -D sp -c sp_e2e_1
34
34
  [ $(expr "$output" : ".*iPhone.*") -ne 0 ]
35
35
  [ $(expr "$output" : ".*0 failures, 0 errors,.*") -ne 0 ]
36
36
  }
37
37
 
38
- @test "#06 After executing e2e on tablet , results contain 'iPad' and no failures/errors." {
38
+ @test "[e2e] #06 After executing e2e on tablet , results contain 'iPad' and no failures/errors." {
39
39
  run bucky run -t e2e -d -D tablet -c tablet_e2e_1
40
40
  [ $(expr "$output" : ".*iPad.*") -ne 0 ]
41
41
  [ $(expr "$output" : ".*0 failures, 0 errors,.*") -ne 0 ]
42
42
  }
43
43
 
44
- @test "#07 After executing e2e operate go with setup each, results have no failures nor errors" {
44
+ @test "[e2e] #07 After executing e2e operate go with setup each, results have no failures nor errors" {
45
45
  run bucky run -d -c setup_each_pc_e2e_1
46
46
  [ $(expr "$output" : ".*0 failures, 0 errors,.*") -ne 0 ]
47
47
  }
48
48
 
49
- @test "#08 After executing e2e operate go with teardown each, results have no failures nor errors" {
49
+ @test "[e2e] #08 After executing e2e operate go with teardown each, results have no failures nor errors" {
50
50
  run bucky run -d -c teardown_each_pc_e2e_1
51
51
  [ $(expr "$output" : ".*0 failures, 0 errors,.*") -ne 0 ]
52
52
  }
53
53
 
54
- @test "#09 When setup and teardown is added, multiple test cases execute normally, results have no failures nor errors" {
54
+ @test "[e2e] #09 When setup and teardown is added, multiple test cases execute normally, results have no failures nor errors" {
55
55
  run bucky run -d -s setup_teardown_each_pc_e2e
56
56
  [ $(expr "$output" : ".*0 failures, 0 errors,.*") -ne 0 ]
57
57
  }
58
58
 
59
- @test "#19 When 'when condition' is added, results have no failures nor errors" {
59
+ @test "[e2e] #10 When 'when condition' is added, results have no failures nor errors" {
60
60
  export STAGE=development
61
61
  run bucky run -t e2e -d -D pc -c pc_e2e_4
62
62
  [ $(expr "$output" : ".*click.*") -ne 0 ]
63
63
  [ $(expr "$output" : ".*0 failures, 0 errors,.*") -ne 0 ]
64
64
  }
65
65
 
66
- @test "#20 When 'when condition' is not added, results have no click procedure" {
66
+ @test "[e2e] #11 When 'when condition' is not added, results have no click procedure" {
67
67
  run bucky run -t e2e -d -D pc -c pc_e2e_4
68
68
  [ $(expr "$output" : ".*click.*") -eq 0 ]
69
69
  [ $(expr "$output" : ".*0 failures, 0 errors,.*") -ne 0 ]
70
70
  }
71
71
 
72
- @test "#21 When 'different when condition' is added, results have no click procedure" {
72
+ @test "[e2e] #12 When 'different when condition' is added, results have no click procedure" {
73
73
  export STAGE=staging
74
74
  run bucky run -t e2e -d -D pc -c pc_e2e_4
75
75
  [ $(expr "$output" : ".*click.*") -eq 0 ]
76
76
  [ $(expr "$output" : ".*0 failures, 0 errors,.*") -ne 0 ]
77
77
  }
78
78
 
79
- @test "#22 When click second element from scenario, results have no failures nor errors" {
79
+ @test "[e2e] #13 When click second element from scenario, results have no failures nor errors" {
80
80
  run bucky run -t e2e -d -D pc -c pc_e2e_5
81
81
  [ $(expr "$output" : ".*0 failures, 0 errors,.*") -ne 0 ]
82
82
  }
83
83
 
84
- @test "#23 When click element from PageObject file, results have no failures nor errors" {
84
+ @test "[e2e] #14 When click element from PageObject file, results have no failures nor errors" {
85
85
  run bucky run -t e2e -d -D pc -c pc_e2e_6
86
86
  [ $(expr "$output" : ".*0 failures, 0 errors,.*") -ne 0 ]
87
87
  }
88
88
 
89
- @test "#24 When click second element from PageObject file, results have no failures nor errors" {
89
+ @test "[e2e] #15 When click second element from PageObject file, results have no failures nor errors" {
90
90
  run bucky run -t e2e -d -D pc -c pc_e2e_7
91
91
  [ $(expr "$output" : ".*0 failures, 0 errors,.*") -ne 0 ]
92
92
  }
93
93
 
94
- @test "#25 When click element from Verification file, results have no failures nor errors" {
94
+ @test "[e2e] #16 When click element from Verification file, results have no failures nor errors" {
95
95
  run bucky run -t e2e -d -D pc -c pc_e2e_8
96
96
  [ $(expr "$output" : ".*0 failures, 0 errors,.*") -ne 0 ]
97
97
  }
98
98
 
99
- @test "#26 When click second element from Verification file, results have no failures nor errors" {
99
+ @test "[e2e] #17 When click second element from Verification file, results have no failures nor errors" {
100
100
  run bucky run -t e2e -d -D pc -c pc_e2e_9
101
101
  [ $(expr "$output" : ".*0 failures, 0 errors,.*") -ne 0 ]
102
102
  }
@@ -4,25 +4,44 @@ setup() {
4
4
  cd /bucky-core/system_testing/test_bucky_project
5
5
  }
6
6
 
7
- @test "#10,#12 After executing linkstatus on pc , results contain target base url, no failures/errors and exit code is 0." {
7
+ @test "[linkstatus] #1, #3 After executing linkstatus on pc, results contain target base url, no failures/errors and exit code is 0." {
8
8
  run bucky run -t linkstatus -d -D pc -c pc_link_1
9
9
  [ $status -eq 0 ]
10
10
  [ $(expr "$output" : ".*http://bucky\.net.*") -ne 0 ]
11
11
  [ $(expr "$output" : ".*0 failures, 0 errors,.*") -ne 0 ]
12
12
  }
13
13
 
14
- @test "#11 After executing linkstatus on pc , results contain target link url and no failures/errors." {
14
+ @test "[linkstatus] #2 After executing linkstatus on pc, results contain target link url and no failures/errors." {
15
15
  run bucky run -t linkstatus -d -D pc -c pc_link_1
16
16
  [ $(expr "$output" : ".*http://bucky\.net/test_page.html.*") -ne 0 ]
17
17
  [ $(expr "$output" : ".*0 failures, 0 errors,.*") -ne 0 ]
18
18
  }
19
19
 
20
- @test "#13 After executing linkstatus failed test, exit code is 1" {
20
+ @test "[linkstatus] #4 After executing linkstatus failed test, exit code is 1" {
21
21
  run bucky run -t linkstatus -d -D pc -c pc_link_2
22
22
  [ $status -eq 1 ]
23
23
  }
24
24
 
25
- @test "#14 After executing linkstatus on sp , results have no failures nor errors" {
25
+ @test "[linkstatus] #5 After executing linkstatus on sp, results have no failures nor errors" {
26
26
  run bucky run -t linkstatus -d -D sp -c sp_link_1
27
27
  [ $(expr "$output" : ".*0 failures, 0 errors,.*") -ne 0 ]
28
- }
28
+ }
29
+
30
+ @test "[linkstatus] #6 After executing linkstatus with excluding by normal, results not contain target link url and no failures/errors." {
31
+ run bucky run -t linkstatus -d -D pc -c pc_link_exclude_normal_1
32
+ [ $status -eq 0 ]
33
+ [ $(expr "$output" : ".*http://bucky\.net/test_page.html.*") -eq 0 ]
34
+ }
35
+
36
+ @test "[linkstatus] #7 After executing linkstatus with excluding by asterisk, results not contain target link url and no failures/errors." {
37
+ run bucky run -t linkstatus -d -D pc -c pc_link_exclude_asterisk_1
38
+ [ $status -eq 0 ]
39
+ [ $(expr "$output" : ".*http://bucky\.net/test_page.html.*") -eq 0 ]
40
+ }
41
+
42
+ @test "[linkstatus] #8 After executing linkstatus with excluding by regex, results not contain target link url and no failures/errors." {
43
+ run bucky run -t linkstatus -d -D pc -c pc_link_exclude_regex_1
44
+ [ $status -eq 0 ]
45
+ [ $(expr "$output" : ".*http://bucky\.net/test_page.html.*") -eq 0 ]
46
+ }
47
+
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.10.14
4
+ version: 0.10.17
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: 2021-02-26 00:00:00.000000000 Z
16
+ date: 2022-05-18 00:00:00.000000000 Z
17
17
  dependencies:
18
18
  - !ruby/object:Gem::Dependency
19
19
  name: awesome_print
@@ -330,6 +330,7 @@ files:
330
330
  - ".rubocop.yml"
331
331
  - ".rubocop_todo.yml"
332
332
  - Dockerfile
333
+ - Dockerfile.dev
333
334
  - Dockerfile.system-test
334
335
  - Gemfile
335
336
  - Gemfile.lock
@@ -425,6 +426,9 @@ files:
425
426
  - system_testing/test_bucky_project/services/service_a/pc/scenarios/e2e/setup_teardown_each_pc_e2e.yml
426
427
  - system_testing/test_bucky_project/services/service_a/pc/scenarios/e2e/teardown_each_pc_e2e.yml
427
428
  - system_testing/test_bucky_project/services/service_a/pc/scenarios/linkstatus/pc_link.yml
429
+ - system_testing/test_bucky_project/services/service_a/pc/scenarios/linkstatus/pc_link_exclude_asterisk.yml
430
+ - system_testing/test_bucky_project/services/service_a/pc/scenarios/linkstatus/pc_link_exclude_normal.yml
431
+ - system_testing/test_bucky_project/services/service_a/pc/scenarios/linkstatus/pc_link_exclude_regex.yml
428
432
  - system_testing/test_bucky_project/services/service_a/pc/verifications/index.rb
429
433
  - system_testing/test_bucky_project/services/service_a/sp/pageobject/index.rb
430
434
  - system_testing/test_bucky_project/services/service_a/sp/parts/index.yml