列表(List)

针对列表控件以及列表中的节点,CukeTest提供了 ListListItem 两个控件。

除下面控件特有的方法外,您还可以使用通用控件方法进行更灵活的操作。

列表视图控件: 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}")

results matching ""

    No results matching ""