列表(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() -> None
itemName(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() -> bool
select()
选择当前列表项。
返回值:
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}")