ディスクリプター

これらの関数を使用してテストの手続きを説明することができます。これはSpec-Reportを読みやすいドキュメントにするために使用します。

関数

関数 説明 出力例 出力例(日本語)
describe 行頭文字を伴う説明 - message ・メッセージ
procedure 複数の操作に関する説明 - message ・メッセージ
caption 装飾を伴う見出し (message) 【メッセージ】
comment コメント // message // メッセージ
manual 手動による操作 - message ・メッセージ
knownIssue 既知の問題 [KNOWNISSUE]message (url) [KNOWNISSUE]メッセージ (url)
target 確認対象 message メッセージ
output 任意のテキスト message メッセージ

注意: 行頭文字(bullet), 見出し(caption), コメントのプレフィックス(comment)は リソースファイルのspec.properties でカスタマイズすることができます。

Descriptor1.kt

(kotlin/tutorial/basic/Descriptor1.kt)

package tutorial.basic

import org.junit.jupiter.api.Order
import org.junit.jupiter.api.Test
import shirates.core.configuration.Testrun
import shirates.core.driver.branchextension.osaifuKeitai
import shirates.core.driver.branchextension.osaifuKeitaiNot
import shirates.core.driver.commandextension.*
import shirates.core.testcode.UITest

@Testrun("testConfig/android/androidSettings/testrun.properties")
class Descriptor1 : UITest() {

    @Test
    @Order(10)
    fun descriptors() {

        scenario {
            case(1) {
                condition {
                    describe("describe")
                    procedure("procedure") {
                        manual("manual")
                    }
                    caption("caption")
                    comment("comment")
                    manual("manual")
                    output("output")
                }.action {
                    caption("caption")
                        .describe("describe1")
                        .describe("describe2")
                    procedure("procedure") {
                        manual("manual")
                    }
                }.expectation {
                    target("target1")
                        .manual("manual")
                    target("target2")
                        .knownIssue("knownIssue", ticketUrl = "https://example.com/ticket/12345")
                }
            }
        }

    }

    @Test
    fun example() {

        scenario {
            case(1) {
                condition {
                    macro("[Setup stock]")
                    macro("[Login]")
                    macro("[Order Screen]")
                }.action {
                    osaifuKeitai {
                        caption("Osaifu keitai")
                            .procedure("Order by osaifu-keitai") {
                                // implement
                            }
                            .comment("note: must be charged")
                    }
                    osaifuKeitaiNot {
                        caption("Not osaifu keitai")
                            .procedure("Order by credit card") {
                                // implement
                            }
                    }
                }.expectation {
                    target("[Completion message]")
                        .manual("is displayed")
                    target("[OK]")
                        .manual("is displayed")
                }
            }

            case(2) {
                action {
                    manual("Tap [OK]")
                }.expectation {
                    manual("[Home screen] is displayed")
                    target("target3")
                        .knownIssue("knownIssue", ticketUrl = "https://example.com/ticket/12345")
                }
            }
        }
    }
}

Spec-Report

Link