在Karate UI中如何创建自定义UI关键字以复用组件操作代码?
如何自定义关键字复用测试中的重复操作
当然可以通过自定义关键字来复用重复代码,以你提到的场景为例,下面以Robot Framework(这类关键字驱动测试框架的典型代表)为例,给出两种实现方式:
方式一:在测试文件内直接定义关键字
在你的.robot测试文件中,添加*** Keywords ***段落,把重复的操作封装成自定义关键字:
*** Keywords *** Select Custom List [Arguments] ${list_locator} ${item_text} Scroll ${list_locator} Click ${list_locator} Click {}${item_text}
之后在测试用例里,直接调用这个自定义关键字即可:
*** Test Cases *** 测试选择列表项 Select Custom List #myList MyItem
方式二:封装为可复用的资源/库
如果需要在多个测试文件中复用这个关键字,可以把它放到单独的资源文件或Python库中:
1. 用资源文件(.robot)共享
创建一个比如CustomKeywords.robot的资源文件,写入上面的Select Custom List关键字定义,然后在需要的测试文件开头导入:
Resource ../Resources/CustomKeywords.robot
2. 用Python库实现复杂逻辑
如果需要添加异常处理、元素存在校验等复杂逻辑,可以用Python编写自定义库:
创建CustomKeywords.py文件:
from robot.api.deco import keyword from robot.libraries.BuiltIn import BuiltIn @keyword def select_custom_list(list_locator, item_text): builtin = BuiltIn() # 可以在这里添加额外逻辑,比如判断列表是否加载完成 builtin.scroll(list_locator) builtin.click(list_locator) builtin.click(f"{{}}{item_text}")
然后在测试文件中导入这个库:
Library CustomKeywords.py
之后同样可以在测试用例中直接调用Select Custom List关键字。
内容的提问来源于stack exchange,提问作者PATRICK ALBARET
相关产品推荐
相关产品推荐

