列表(List)
针对列表控件以及列表中的节点,CukeTest提供了 List 和 ListItem 两个控件。
除下面控件特有的方法外,您还可以使用通用控件方法进行更灵活的操作。
列表视图控件: List
CukeTest 为 Java 应用中的列表控件提供了一系列 API,用于获取和操作列表数据。这些 API 可以帮助您轻松访问和控制列表中的各项内容。
| 方法名 | 描述 |
|---|---|
| itemName | 获取指定索引处的列表项名称。 |
| itemCount | 获取列表项的总数。 |
| data | 获取列表的所有数据。 |
| getItem | 根据名称或索引获取列表中的项。 |
| select | 选择指定的列表项。 |
| selectedIndex | 获取当前选中的列表项索引。 |
| scrollToTop | 滚动列表至顶部。 |
| scrollToBottom | 滚动列表至底部。 |
类型定义
JavaScript
Python
export interface IJList extends IJControl {
itemName(index: number): Promise<string>;
itemCount(): Promise<number>;
data(): Promise<string[]>;
getItem(nameOrIndex: number | string): IJListItem;
select(nameOrIndex: number | string): Promise<IJListItem>;
selectedIndex(): Promise<number>;
scrollToTop(): Promise<void>;
scrollToBottom(): Promise<void>;
}class JList(JControl):
def itemName(index: int) -> str
def itemCount() -> int
def data() -> List[str]
def getItem(nameOrIndex: Union[str, int]) -> JControl
def select(nameOrIndex: Union[str, int]) -> JControl
def selectedIndex() -> int
def scrollToTop() -> None
def scrollToBottom() -> NoneitemName(index)
获取指定索引处的列表项名称。
参数:
- index:
number类型,目标列表项的索引,从0开始计算。
返回值:
Promise<string>类型,异步返回目标列表项的名称。
示例代码
获取列表中第2项的名称:
JavaScript
Python
let itemName = await model.getList("list").itemName(1);
console.log(`列表项名称: ${itemName}`);item_name = model.getList("list").itemName(1)
print(f"列表项名称: {item_name}")itemCount()
获取列表项的总数。
返回值:
Promise<number>类型,异步返回列表项的总数。
示例代码
获取列表的项数:
JavaScript
Python
let count = await model.getList("list").itemCount();
console.log(`列表项总数: ${count}`);count = model.getList("list").itemCount()
print(f"列表项总数: {count}")data()
获取列表的所有数据,以字符串数组形式返回。
返回值:
Promise<string[]>类型,异步返回列表中所有项的名称数组。
示例代码
获取整个列表的数据:
JavaScript
Python
let listData = await model.getList("list").data();
console.log(`列表数据: ${listData.join(", ")}`);list_data = model.getList("list").data()
print(f"列表数据: {', '.join(list_data)}")getItem(nameOrIndex)
根据名称或索引获取列表中的项。
参数:
- nameOrIndex:
number | string类型,可以是项的名称或索引。
返回值:
<IJListItem>类型,异步返回选中的列表项的自动化对象。
示例代码
根据名称获取列表项:
JavaScript
Python
let item = model.getList("list").getItem("项名称");item = model.getList("list").getItem("项名称")select(nameOrIndex)
选择指定的列表项。
参数:
- nameOrIndex:
number类型或者string类型,目标列表项的索引或名称。
返回值:
Promise<IJListItem>类型,异步返回选中的列表项的自动化对象。
示例代码
选择列表中名称为"项3"的项:
JavaScript
Python
let selectedItem = await model.getList("list").select("项3");selected_item = model.getList("list").select("项3")selectedIndex()
获取当前选中的列表项索引。
返回值:
Promise<number>类型,异步返回当前选中的列表项的索引。
示例代码
获取当前选中的列表项索引:
JavaScript
Python
let selectedIndex = await model.getList("list").selectedIndex();
console.log(`当前选中项的索引: ${selectedIndex}`);selected_index = model.getList("list").selectedIndex()
print(f"当前选中项的索引: {selected_index}")scrollToTop()
滚动列表至顶部。
返回值:
- 不返回任何值的异步方法。
示例代码
滚动列表至顶部:
JavaScript
Python
await model.getList("list").scrollToTop();model.getList("list").scrollToTop()scrollToBottom()
滚动列表至底部。
返回值:
- 不返回任何值的异步方法。
示例代码
滚动列表至底部:
JavaScript
Python
await model.getList("list").scrollToBottom();model.getList("list").scrollToBottom()列表节点控件: ListItem
ListItem控件代表列表中的各个节点,提供了一些基本方法,用于操作和查询列表项的状态。
| 方法名称 | 描述 |
|---|---|
| select | 选择当前列表项。 |
| selected | 检查当前列表项是否被选中。 |
| scrollIntoView | 将当前列表项滚动到可视区域。 |
| toggleCheck | 切换列表项的选中状态。 |
| checkState | 获取列表项的选中状态。 |
类型定义
JavaScript
Python
export interface IJListItem extends IJControl {
select(): Promise<void>;
selected(): Promise<boolean>;
scrollIntoView(): Promise<void>;
toggleCheck(checkState: boolean): Promise<void>
checkState(): Promise<boolean>
}class IJListItem(IJControl):
def select() -> None
def selected() -> bool
def scrollntoView() -> None
def toggleCheck(checkState: bool) -> None
def checkState() -> boolselect()
选择当前列表项。
返回值:
Promise<void>类型,表示选择操作完成。
示例代码
选择列表项:
JavaScript
Python
await model.getListItem("itemName").select();model.getListItem("itemName").select()selected()
检查当前列表项是否被选中。
返回值:
Promise<boolean>类型,异步返回一个布尔值,true表示当前项已选中,false表示未选中。
示例代码
检查列表项是否被选中:
JavaScript
Python
let isSelected = await model.getListItem("itemName").selected();
console.log(`列表项是否选中: ${isSelected}`);isSelected = model.getListItem("itemName").selected()
print(f"列表项是否选中: {isSelected}")scrollIntoView()
将当前列表项滚动到可视区域。
返回值:
Promise<void>类型,表示滚动操作完成。
示例代码
将列表项滚动到可视区域:
JavaScript
Python
await model.getListItem("itemName").scrollIntoView();model.getListItem("itemName").scrollIntoView()toggleCheck(checkState)
切换列表项的选中状态。
参数:
- checkState:
boolean类型,传入true以选中该项,或传入false以取消选中。
返回值:
Promise<void>类型,不返回任何值的异步方法。
示例代码
切换列表项的选中状态:
JavaScript
await model.getListItem("itemName").toggleCheck(true);Python
model.getListItem("itemName").toggleCheck(True)checkState()
获取当前列表项的选中状态。
返回值:
Promise<boolean>类型,异步返回true如果列表项已选中,否则返回false。
示例代码
获取列表项的选中状态:
JavaScript
let isChecked = await model.getListItem("itemName").checkState();
console.log(`列表项选中状态: ${isChecked}`);Python
is_checked = model.getListItem("itemName").checkState()
print(f"列表项选中状态: {is_checked}")