bucky-core 0.9.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.circleci/config.yml +66 -0
- data/.codeclimate.yml +48 -0
- data/.dockerignore +11 -0
- data/.gitignore +40 -0
- data/.rspec +3 -0
- data/.rubocop.yml +76 -0
- data/.rubocop_todo.yml +51 -0
- data/Dockerfile +38 -0
- data/Dockerfile.system-test +44 -0
- data/Gemfile +4 -0
- data/Gemfile.lock +115 -0
- data/LICENSE +201 -0
- data/README.md +246 -0
- data/Rakefile +8 -0
- data/bin/console +15 -0
- data/bin/setup +8 -0
- data/bucky-core.gemspec +47 -0
- data/docker-compose.dev-with-bm.yml +28 -0
- data/docker-compose.dev.yml +18 -0
- data/docker-compose.system-test.yml +21 -0
- data/docker/nginx/Dockerfile +7 -0
- data/docker/nginx/nginx.conf +22 -0
- data/docker/nginx/public/index.html +19 -0
- data/docker/nginx/public/test_page.html +12 -0
- data/exe/bucky +214 -0
- data/lib/bucky.rb +3 -0
- data/lib/bucky/core/database/db_connector.rb +29 -0
- data/lib/bucky/core/database/test_data_operator.rb +195 -0
- data/lib/bucky/core/exception/bucky_exception.rb +39 -0
- data/lib/bucky/core/report/screen_shot_generator.rb +24 -0
- data/lib/bucky/core/test_core/test_case_loader.rb +162 -0
- data/lib/bucky/core/test_core/test_class_generator.rb +129 -0
- data/lib/bucky/core/test_core/test_manager.rb +70 -0
- data/lib/bucky/core/test_core/test_result.rb +92 -0
- data/lib/bucky/test_equipment/evidence/evidence_generator.rb +36 -0
- data/lib/bucky/test_equipment/pageobject/base_pageobject.rb +55 -0
- data/lib/bucky/test_equipment/pageobject/pages.rb +61 -0
- data/lib/bucky/test_equipment/selenium_handler/webdriver_handler.rb +66 -0
- data/lib/bucky/test_equipment/test_case/abst_test_case.rb +49 -0
- data/lib/bucky/test_equipment/test_case/e2e_test_case.rb +70 -0
- data/lib/bucky/test_equipment/test_case/linkstatus_test_case.rb +28 -0
- data/lib/bucky/test_equipment/user_operation/user_operation_helper.rb +97 -0
- data/lib/bucky/test_equipment/user_operation/user_operation_logger.rb +15 -0
- data/lib/bucky/test_equipment/user_operation/user_operator.rb +61 -0
- data/lib/bucky/test_equipment/verifications/abst_verification.rb +13 -0
- data/lib/bucky/test_equipment/verifications/e2e_verification.rb +106 -0
- data/lib/bucky/test_equipment/verifications/js_error_checker.rb +23 -0
- data/lib/bucky/test_equipment/verifications/service_verifications.rb +62 -0
- data/lib/bucky/test_equipment/verifications/status_checker.rb +180 -0
- data/lib/bucky/tools/lint.rb +69 -0
- data/lib/bucky/utils/bucky_logger.rb +25 -0
- data/lib/bucky/utils/bucky_output.rb +23 -0
- data/lib/bucky/utils/config.rb +55 -0
- data/lib/bucky/utils/requests.rb +33 -0
- data/lib/bucky/utils/yaml_load.rb +24 -0
- data/lib/bucky/version.rb +7 -0
- data/system_testing/test_bucky_project/.bucky_home +2 -0
- data/system_testing/test_bucky_project/config/bucky_config.yml +6 -0
- data/system_testing/test_bucky_project/config/e2e_config.yml +15 -0
- data/system_testing/test_bucky_project/config/linkstatus_config.yml +3 -0
- data/system_testing/test_bucky_project/config/test_db_config.yml +8 -0
- data/system_testing/test_bucky_project/services/README.md +1 -0
- data/system_testing/test_bucky_project/services/service_a/pc/pageobject/index.rb +13 -0
- data/system_testing/test_bucky_project/services/service_a/pc/parts/index.yml +6 -0
- data/system_testing/test_bucky_project/services/service_a/pc/scenarios/e2e/pc_e2e.yml +68 -0
- data/system_testing/test_bucky_project/services/service_a/pc/scenarios/e2e/setup_each_pc_e2e.yml +20 -0
- data/system_testing/test_bucky_project/services/service_a/pc/scenarios/e2e/setup_teardown_each_pc_e2e.yml +35 -0
- data/system_testing/test_bucky_project/services/service_a/pc/scenarios/e2e/teardown_each_pc_e2e.yml +20 -0
- data/system_testing/test_bucky_project/services/service_a/pc/scenarios/linkstatus/pc_link.yml +10 -0
- data/system_testing/test_bucky_project/services/service_a/sp/pageobject/index.rb +14 -0
- data/system_testing/test_bucky_project/services/service_a/sp/parts/index.yml +6 -0
- data/system_testing/test_bucky_project/services/service_a/sp/scenarios/e2e/sp_e2e_test.yml +26 -0
- data/system_testing/test_bucky_project/services/service_a/sp/scenarios/linkstatus/sp_link.yml +10 -0
- data/system_testing/test_bucky_project/services/service_a/tablet/pageobject/index.rb +14 -0
- data/system_testing/test_bucky_project/services/service_a/tablet/parts/index.yml +6 -0
- data/system_testing/test_bucky_project/services/service_a/tablet/scenarios/e2e/tablet_e2e_test.yml +26 -0
- data/system_testing/test_bucky_project/system/evidences/README.md +1 -0
- data/system_testing/test_bucky_project/system/evidences/screen_shots/README.md +1 -0
- data/system_testing/test_bucky_project/system/logs/README.md +1 -0
- data/system_testing/test_specification.md +38 -0
- data/system_testing/testing_code/command.bats +42 -0
- data/system_testing/testing_code/e2e.bats +75 -0
- data/system_testing/testing_code/linkstatus.bats +24 -0
- data/template/make_page/pc/pageobject/sample_page.rb +23 -0
- data/template/make_page/pc/parts/sample_page.yml +9 -0
- data/template/make_page/sp/pageobject/sample_page.rb +24 -0
- data/template/make_page/sp/parts/sample_page.yml +9 -0
- data/template/make_page/tablet/pageobject/sample_page.rb +24 -0
- data/template/make_page/tablet/parts/sample_page.yml +9 -0
- data/template/new/.bucky_home +2 -0
- data/template/new/config/bucky_config.yml +6 -0
- data/template/new/config/e2e_config.yml +15 -0
- data/template/new/config/linkstatus_config.yml +3 -0
- data/template/new/config/test_db_config.yml +8 -0
- data/template/new/services/README.md +1 -0
- data/template/new/system/evidences/README.md +1 -0
- data/template/new/system/evidences/screen_shots/README.md +1 -0
- data/template/new/system/logs/README.md +1 -0
- metadata +415 -0
data/system_testing/test_bucky_project/services/service_a/pc/scenarios/e2e/teardown_each_pc_e2e.yml
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
desc: teardown each pc e2e suits
|
2
|
+
device: pc
|
3
|
+
service: service_a
|
4
|
+
priority: high
|
5
|
+
test_category: e2e
|
6
|
+
teardown_each:
|
7
|
+
procs:
|
8
|
+
- proc: open test_page.html
|
9
|
+
exec:
|
10
|
+
operate: go
|
11
|
+
url: http://bucky.net/test_page.html
|
12
|
+
cases:
|
13
|
+
- case_name: teardown_each_pc_e2e_1
|
14
|
+
func: teardown each pc e2e 1 func
|
15
|
+
desc: teardown each pc e2e 1 func
|
16
|
+
procs:
|
17
|
+
- proc: open page
|
18
|
+
exec:
|
19
|
+
operate: go
|
20
|
+
url: http://bucky.net
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'bucky/test_equipment/pageobject/base_pageobject'
|
4
|
+
|
5
|
+
module Services
|
6
|
+
module ServiceA
|
7
|
+
module Sp
|
8
|
+
module PageObject
|
9
|
+
class Index < Bucky::TestEquipment::PageObject::BasePageObject
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
desc: sp e2e suits
|
2
|
+
device: sp
|
3
|
+
service: service_a
|
4
|
+
priority: high
|
5
|
+
test_category: e2e
|
6
|
+
cases:
|
7
|
+
- case_name: sp_e2e_1
|
8
|
+
func: sp e2e 1 func UserAgent
|
9
|
+
desc: sp e2e 1 func UserAgent
|
10
|
+
procs:
|
11
|
+
- proc: open index
|
12
|
+
exec:
|
13
|
+
operate: go
|
14
|
+
url: http://bucky.net
|
15
|
+
- proc: check UserAgent(DeviceName)
|
16
|
+
exec:
|
17
|
+
verify: assert_contained_text
|
18
|
+
expect: iPhone
|
19
|
+
page: index
|
20
|
+
part: ua
|
21
|
+
- proc: check UserAgent(Browser)
|
22
|
+
exec:
|
23
|
+
verify: assert_contained_text
|
24
|
+
expect: Safari
|
25
|
+
page: index
|
26
|
+
part: ua
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'bucky/test_equipment/pageobject/base_pageobject'
|
4
|
+
|
5
|
+
module Services
|
6
|
+
module ServiceA
|
7
|
+
module Tablet
|
8
|
+
module PageObject
|
9
|
+
class Index < Bucky::TestEquipment::PageObject::BasePageObject
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
data/system_testing/test_bucky_project/services/service_a/tablet/scenarios/e2e/tablet_e2e_test.yml
ADDED
@@ -0,0 +1,26 @@
|
|
1
|
+
desc: tablet e2e suits
|
2
|
+
device: tablet
|
3
|
+
service: service_a
|
4
|
+
priority: high
|
5
|
+
test_category: e2e
|
6
|
+
cases:
|
7
|
+
- case_name: tablet_e2e_1
|
8
|
+
func: tablet e2e 1 func UserAgent
|
9
|
+
desc: tablet e2e 1 func UserAgent
|
10
|
+
procs:
|
11
|
+
- proc: open index
|
12
|
+
exec:
|
13
|
+
operate: go
|
14
|
+
url: http://bucky.net
|
15
|
+
- proc: check UserAgent(DeviceName)
|
16
|
+
exec:
|
17
|
+
verify: assert_contained_text
|
18
|
+
expect: iPad
|
19
|
+
page: index
|
20
|
+
part: ua
|
21
|
+
- proc: check UserAgent(Browser)
|
22
|
+
exec:
|
23
|
+
verify: assert_contained_text
|
24
|
+
expect: Safari
|
25
|
+
page: index
|
26
|
+
part: ua
|
@@ -0,0 +1 @@
|
|
1
|
+
for save evidence directory.
|
@@ -0,0 +1 @@
|
|
1
|
+
for save screen shots directory.
|
@@ -0,0 +1 @@
|
|
1
|
+
for save logs directory.
|
@@ -0,0 +1,38 @@
|
|
1
|
+
# Procedures of test execution
|
2
|
+
|
3
|
+
```bash
|
4
|
+
docker-compose -f docker-compose.system-test.yml up --build -d
|
5
|
+
|
6
|
+
docker exec bucky-core bats /bucky-core/system_testing/testing_code/
|
7
|
+
# OR
|
8
|
+
docker exec bucky-core bats /bucky-core/system_testing/testing_code/command.bats
|
9
|
+
|
10
|
+
docker-compose -f docker-compose.system-test.yml down
|
11
|
+
```
|
12
|
+
|
13
|
+
# Test case specification
|
14
|
+
※ Only Japanese now.
|
15
|
+
※ テストケースNo.はbatsのケース説明部分に記載し、対応づけを行う
|
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」 が表示されないこと |
|
@@ -0,0 +1,42 @@
|
|
1
|
+
#!/usr/bin/env bats
|
2
|
+
|
3
|
+
BUCKY_PROJECT_NAME=bats_test
|
4
|
+
TEST_SERVICE=test_service
|
5
|
+
|
6
|
+
setup() {
|
7
|
+
rm -rf /tmp/$BUCKY_PROJECT_NAME
|
8
|
+
cd /tmp/
|
9
|
+
bucky new $BUCKY_PROJECT_NAME
|
10
|
+
}
|
11
|
+
|
12
|
+
teardown() {
|
13
|
+
rm -rf /tmp/$BUCKY_PROJECT_NAME
|
14
|
+
}
|
15
|
+
|
16
|
+
@test "#14 After executing 'new' command, expected files and directories are created" {
|
17
|
+
run diff /bucky-core/template/new/ /tmp/$BUCKY_PROJECT_NAME
|
18
|
+
[ $status -eq 0 ]
|
19
|
+
}
|
20
|
+
|
21
|
+
@test "#15 After executing 'make service' command, expected directory is created" {
|
22
|
+
cd /tmp/$BUCKY_PROJECT_NAME
|
23
|
+
bucky make service $TEST_SERVICE
|
24
|
+
run ls /tmp/$BUCKY_PROJECT_NAME/services/$TEST_SERVICE
|
25
|
+
[ $status -eq 0 ]
|
26
|
+
}
|
27
|
+
|
28
|
+
@test "#16 After executing 'make page' command, expected page and parts file are created" {
|
29
|
+
cd /tmp/$BUCKY_PROJECT_NAME
|
30
|
+
bucky make service $TEST_SERVICE
|
31
|
+
bucky make page test_page --service $TEST_SERVICE --device pc
|
32
|
+
run ls /tmp/$BUCKY_PROJECT_NAME/services/$TEST_SERVICE/pc/pageobject/test_page.rb
|
33
|
+
[ $status -eq 0 ]
|
34
|
+
run ls /tmp/$BUCKY_PROJECT_NAME/services/$TEST_SERVICE/pc/parts/test_page.yml
|
35
|
+
[ $status -eq 0 ]
|
36
|
+
}
|
37
|
+
|
38
|
+
@test "#17 After executing undefined command, show error message and exit" {
|
39
|
+
cd /tmp/$BUCKY_PROJECT_NAME
|
40
|
+
run bucky hoge fuga
|
41
|
+
[ $(expr "$output" : ".*Invalid command error.*") -ne 0 ]
|
42
|
+
}
|
@@ -0,0 +1,75 @@
|
|
1
|
+
#!/usr/bin/env bats
|
2
|
+
|
3
|
+
setup() {
|
4
|
+
cd /bucky-core/system_testing/test_bucky_project
|
5
|
+
}
|
6
|
+
|
7
|
+
@test "#01 After executing e2e operate go, results have no failures nor errors" {
|
8
|
+
run bucky run -t e2e -d -D pc -c pc_e2e_1
|
9
|
+
[ $(expr "$output" : ".*0 failures, 0 errors,.*") -ne 0 ]
|
10
|
+
}
|
11
|
+
|
12
|
+
@test "#02 After executing e2e verify assert_title, results contain verify words and no failures/errors" {
|
13
|
+
run bucky run -t e2e -d -D pc -c pc_e2e_1
|
14
|
+
[ $(expr "$output" : ".*:verify.*assert_title.*") -ne 0 ]
|
15
|
+
[ $(expr "$output" : ".*0 failures, 0 errors,.*") -ne 0 ]
|
16
|
+
}
|
17
|
+
|
18
|
+
@test "#03 After executing e2e verify assert_title, results contain verify words and 1 failure" {
|
19
|
+
run bucky run -t e2e -d -D pc -c pc_e2e_2
|
20
|
+
[ $(expr "$output" : ".*:verify.*assert_title.*") -ne 0 ]
|
21
|
+
[ $(expr "$output" : ".*1 failures.*") -ne 0 ]
|
22
|
+
}
|
23
|
+
|
24
|
+
@test "#04 After executing e2e on pc , results contain 'Linux' and no failures/errors." {
|
25
|
+
run bucky run -t e2e -d -D pc -c pc_e2e_3
|
26
|
+
[ $(expr "$output" : ".*Linux.*") -ne 0 ]
|
27
|
+
[ $(expr "$output" : ".*0 failures, 0 errors,.*") -ne 0 ]
|
28
|
+
}
|
29
|
+
|
30
|
+
@test "#05 After executing e2e on sp , results contain 'iPhone' and no failures/errors." {
|
31
|
+
run bucky run -t e2e -d -D sp -c sp_e2e_1
|
32
|
+
[ $(expr "$output" : ".*iPhone.*") -ne 0 ]
|
33
|
+
[ $(expr "$output" : ".*0 failures, 0 errors,.*") -ne 0 ]
|
34
|
+
}
|
35
|
+
|
36
|
+
@test "#06 After executing e2e on tablet , results contain 'iPad' and no failures/errors." {
|
37
|
+
run bucky run -t e2e -d -D tablet -c tablet_e2e_1
|
38
|
+
[ $(expr "$output" : ".*iPad.*") -ne 0 ]
|
39
|
+
[ $(expr "$output" : ".*0 failures, 0 errors,.*") -ne 0 ]
|
40
|
+
}
|
41
|
+
|
42
|
+
@test "#07 After executing e2e operate go with setup each, results have no failures nor errors" {
|
43
|
+
run bucky run -d -c setup_each_pc_e2e_1
|
44
|
+
[ $(expr "$output" : ".*0 failures, 0 errors,.*") -ne 0 ]
|
45
|
+
}
|
46
|
+
|
47
|
+
@test "#08 After executing e2e operate go with teardown each, results have no failures nor errors" {
|
48
|
+
run bucky run -d -c teardown_each_pc_e2e_1
|
49
|
+
[ $(expr "$output" : ".*0 failures, 0 errors,.*") -ne 0 ]
|
50
|
+
}
|
51
|
+
|
52
|
+
@test "#09 When setup and teardown is added, multiple test cases execute normally, results have no failures nor errors" {
|
53
|
+
run bucky run -d -s setup_teardown_each_pc_e2e
|
54
|
+
[ $(expr "$output" : ".*0 failures, 0 errors,.*") -ne 0 ]
|
55
|
+
}
|
56
|
+
|
57
|
+
@test "#18 When 'when condition' is added, results have no failures nor errors" {
|
58
|
+
export STAGE=development
|
59
|
+
run bucky run -t e2e -d -D pc -c pc_e2e_4
|
60
|
+
[ $(expr "$output" : ".*click.*") -ne 0 ]
|
61
|
+
[ $(expr "$output" : ".*0 failures, 0 errors,.*") -ne 0 ]
|
62
|
+
}
|
63
|
+
|
64
|
+
@test "#19 When 'when condition' is not added, results have no click procedure" {
|
65
|
+
run bucky run -t e2e -d -D pc -c pc_e2e_4
|
66
|
+
[ $(expr "$output" : ".*click.*") -eq 0 ]
|
67
|
+
[ $(expr "$output" : ".*0 failures, 0 errors,.*") -ne 0 ]
|
68
|
+
}
|
69
|
+
|
70
|
+
@test "#20 When 'different when condition' is added, results have no click procedure" {
|
71
|
+
export STAGE=staging
|
72
|
+
run bucky run -t e2e -d -D pc -c pc_e2e_4
|
73
|
+
[ $(expr "$output" : ".*click.*") -eq 0 ]
|
74
|
+
[ $(expr "$output" : ".*0 failures, 0 errors,.*") -ne 0 ]
|
75
|
+
}
|
@@ -0,0 +1,24 @@
|
|
1
|
+
#!/usr/bin/env bats
|
2
|
+
|
3
|
+
setup() {
|
4
|
+
cd /bucky-core/system_testing/test_bucky_project
|
5
|
+
}
|
6
|
+
|
7
|
+
teardown() {
|
8
|
+
# No failures and errors
|
9
|
+
[ $(expr "$output" : ".*0 failures, 0 errors,.*") -ne 0 ]
|
10
|
+
}
|
11
|
+
|
12
|
+
@test "#10,#12 After executing linkstatus on pc , results contain target base url and no failures/errors." {
|
13
|
+
run bucky run -t linkstatus -d -D pc -c pc_link_1
|
14
|
+
[ $(expr "$output" : ".*http://bucky\.net.*") -ne 0 ]
|
15
|
+
}
|
16
|
+
|
17
|
+
@test "#11 After executing linkstatus on pc , results contain target link url and no failures/errors." {
|
18
|
+
run bucky run -t linkstatus -d -D pc -c pc_link_1
|
19
|
+
[ $(expr "$output" : ".*http://bucky\.net/test_page.html.*") -ne 0 ]
|
20
|
+
}
|
21
|
+
|
22
|
+
@test "#13 After executing linkstatus on sp , results have no failures nor errors" {
|
23
|
+
run bucky run -t linkstatus -d -D sp -c sp_link_1
|
24
|
+
}
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'bucky/test_equipment/pageobject/base_pageobject'
|
4
|
+
module Services
|
5
|
+
module {SampleService}
|
6
|
+
module Pc
|
7
|
+
module PageObject
|
8
|
+
class {SamplePage} < Bucky::TestEquipment::PageObject::BasePageObject
|
9
|
+
|
10
|
+
protected
|
11
|
+
|
12
|
+
# Add some user operations for this page
|
13
|
+
# Sample ====================
|
14
|
+
# @param [Hash] args
|
15
|
+
# def search_freeword(**args)
|
16
|
+
# freeword_form.send_keys(args[:word])
|
17
|
+
# freeword_form.submit
|
18
|
+
# end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'bucky/test_equipment/pageobject/base_pageobject'
|
4
|
+
|
5
|
+
module Services
|
6
|
+
module {SampleService}
|
7
|
+
module Sp
|
8
|
+
module PageObject
|
9
|
+
class {SamplePage} < Bucky::TestEquipment::PageObject::BasePageObject
|
10
|
+
|
11
|
+
protected
|
12
|
+
|
13
|
+
# Add some user operations for this page
|
14
|
+
# Sample ====================
|
15
|
+
# @param [Hash] args
|
16
|
+
# def search_freeword(**args)
|
17
|
+
# freeword_form.send_keys(args[:word])
|
18
|
+
# freeword_form.submit
|
19
|
+
# end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'bucky/test_equipment/pageobject/base_pageobject'
|
4
|
+
|
5
|
+
module Services
|
6
|
+
module {SampleService}
|
7
|
+
module Tablet
|
8
|
+
module PageObject
|
9
|
+
class {SamplePage} < Bucky::TestEquipment::PageObject::BasePageObject
|
10
|
+
|
11
|
+
protected
|
12
|
+
|
13
|
+
# Add some user operations for this page
|
14
|
+
# Sample ====================
|
15
|
+
# @param [Hash] args
|
16
|
+
# def search_freeword(**args)
|
17
|
+
# freeword_form.send_keys(args[:word])
|
18
|
+
# freeword_form.submit
|
19
|
+
# end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|