---
# System prepended metadata

title: Control Flows in SideeX
tags: [Chinese]

---

---
title: Control Flows in SideeX
tags: Chinese
---

# 控制流程

SideeX提供四種類型的控制流程指令：`IF-ELSE`、`WHILE`、`INCLUDE`與`TRY-CATCH`，此四種指令可混合使用。

## IF-ELSE

一個`IF`指令須配對一個`END`指令，並配對最多一個`ELSE`。

:::info
**Example 1 (IF-END)**

IF 
*Other Commands* 
END
:::

:::info
**Example 2 (IF-ELSE-END)**

IF 
*Other Commands* 
ELSE 
*Other Commands* 
END
:::

此外，IF-ELSE可巢狀出現，例如：
:::info
**Example 3 (Nested-IF)**

IF 
*Other Commands* 
**IF** 
*Other Commands* 
**ELSE** 
*Other Commands* 
**END**
*Other Commands* 
END
:::

## WHILE
一個`WHILE`指令須配對一個`END`指令。Value欄位值可設定最多迴圈數，無填值則表示無限制。

:::info
**WHILE \| \${ValidLogin} == false \| 10**
*Other Commands* 
IF \| "${LoginStatus}" == "Incorrect Name" \| 
*Other Commands* 
END 
*Other Commands* 
**END**
:::

## INCLUDE
`INCLUDE`指令可用於測試案例重複使用，當執行測試案例時可動態引用並執行另一個測試案例，引用測試案例名稱格式如下：

`TestSuiteName.TestCaseName`

底下範例中`LoginPageTestSuite`中的`LoginTestCase`將會被另一個測試案例引用並執行。

:::info
IF | ${isSignedIn} == true | 
**INCLUDE | LoginPageTestSuite.LoginTestCase |**
ELSE 
*Other Commands* 
END
:::

## TRY-CATCH

一個`TRY`指令須配對一個`END`指令，並配對最多一個`CATCH`指令。當`TRY`-`CATCH`區間中任何一個指令執行失敗時，區間中剩餘的指令將不被執行，並且測試案例不會被標示為失敗，此時將接續執行`CATCH`-`END`區間的指令。底下為兩個合法的範例：

:::info
**Example 1 (TRY-CATCH-END)**

TRY 
*Commands May Fail* 
CATCH 
*Other Commands* 
END
:::

:::info
**Example 2 (TRY-END)**

TRY 
*Commands May Fail* 
END
:::

