
# 创建CodeArts TestPlan自定义关键字
自定义关键字即用户使用java程序自行实现测试逻辑，有较高的自由度，可以完成一般关键字无法完成的操作，例如查询数据库、处理复杂业务数据等。
![](https://support.huaweicloud.com/usermanual-testman/public_sys-resources/note_3.0-zh-cn.png)
目前自定义关键字特性属于高阶功能，只有专业版以上的客户才可以使用，且只支持"华南-广州"、"华北-北京"区域。如果您需要开通此功能，请新建工单、或联系您的客户经理，提交开通白名单申请。
#### 操作步骤
1. 完成[创建CodeArts TestPlan接口自动化测试用例模板](https://support.huaweicloud.com/usermanual-testman/cloudtest_01_0010.html)操作，单击用例名称，选择"脚本"页签。
2. 在右侧"关键字库"界面，单击"自定义"。
3. 单击"导入接口"。
4. 从本地上传JSON文件及Jar文件。 
   - 选择JSON文件：在弹窗中单击"模板"。按照模板中的格式要求填写JSON文件信息，返回页面，单击![](https://support.huaweicloud.com/usermanual-testman/zh-cn_image_0000001964032513.png "点击放大")，上传编写好的JSON文件，单击"确定"。
   
   - 选择Jar文件：单击![](https://support.huaweicloud.com/usermanual-testman/zh-cn_image_0000001937073286.png "点击放大")，上传Jar文件（最多上传10个文件），本地开发JAR包请参见[Jar文件开发指南及规范]。
     ![](https://support.huaweicloud.com/usermanual-testman/zh-cn_image_0000001964032473.png "点击放大")
     
   
   
   
   
5. 单击"确定"。导入成功的自定义关键字默认储存在"默认文件夹"内。
6. 对于已添加的自定义关键字，将鼠标悬浮在关键字区域时，可以选择进行以下操作。 
   - 单击关键字名称，页面显示对应关键字的基本信息、请求、检查点、响应提取及导入的Jar文件。
   
   - 单击![](https://support.huaweicloud.com/usermanual-testman/zh-cn_image_0000001937073270.png "点击放大")，在弹框中可以编辑自定义关键字的信息及删除添加Jar包（最多可以添加10个Jar包），若添加同名Jar包会将原文件覆盖。
   
   - 单击![](https://support.huaweicloud.com/usermanual-testman/zh-cn_image_0000001936913922.png)，单击"\< 标记状态"，可以为自定义关键字设置"正常"、"新增"、"更新"其中一种状态。
   
   - 单击![](https://support.huaweicloud.com/usermanual-testman/zh-cn_image_0000001937073246.png)，单击"删除"，可以删除对应的自定义关键字。
   
   
   
   
7. 单击![](https://support.huaweicloud.com/usermanual-testman/zh-cn_image_0000001937073282.png)或鼠标悬浮在"自定义"拖拽到测试步骤空白页，可以为脚本添加该自定义关键字步骤。
8. 完成添加测试步骤后，单击![](https://support.huaweicloud.com/usermanual-testman/zh-cn_image_0000001964152293.png)执行接口自动化用例。
   
   ![](https://support.huaweicloud.com/usermanual-testman/public_sys-resources/notice_3.0-zh-cn.png)
   添加自定义关键字到接口自动化用例的脚本后，该接口自动化测试用例需要在配置好接口自动化自定义资源池的前提下执行，请参考[设置CodeArts TestPlan接口自动化自定义资源池](https://support.huaweicloud.com/usermanual-testman/cloudtest_01_0152.html)。
   
   
9. 执行完成后，可以在用例列表"结果"列查看执行结果。 
   单击用例名称，选择"执行历史"页签，可以查看该测试用例的执行历史信息。
   
   
 
 #### Jar文件开发指南及规范
**开发环境准备（以IDEA开发工具举例）**
1. 进入IDEA，单击"File\>New\>Project"，如下图所示。 
   ![](https://support.huaweicloud.com/usermanual-testman/zh-cn_image_0000001964032477.png "点击放大")
   
   
2. 配置工程基本信息。进入工程配置页面填写名称，选择存储路径，单击"确定"。 
   JDK版本保存默认即可，如果JDK版本低于1.8需更新本机JDK版本后再进行以下步骤。
   ![](https://support.huaweicloud.com/usermanual-testman/zh-cn_image_0000001964152301.png "点击放大")
   
   
3. 完成工程创建。 
   ![](https://support.huaweicloud.com/usermanual-testman/zh-cn_image_0000001936913938.png "点击放大")
   
   
4. 配置项目依赖。 
   目前自定义关键字功能处于试用阶段，开发所需的SDK依赖包可联系客服获取。
   将SDK配置到项目依赖方法：
   1. 单击"File\>Project Structure"，进入项目架构配置页面，并找到Libraries。 ![](https://support.huaweicloud.com/usermanual-testman/zh-cn_image_0000001964032481.png "点击放大")
      ![](https://support.huaweicloud.com/usermanual-testman/zh-cn_image_0000001936913898.png "点击放大")
      
   
   2. 单击上方+号，选择java，进入Select Library Files依赖包选择页面。 ![](https://support.huaweicloud.com/usermanual-testman/zh-cn_image_0000001937073234.png "点击放大")
      
   
   3. 找到本地依赖包所在位置，选中并单击"OK"。 ![](https://support.huaweicloud.com/usermanual-testman/zh-cn_image_0000001936913910.png "点击放大")
      中间会出现弹窗让选择module，单击"OK"即可。
      ![](https://support.huaweicloud.com/usermanual-testman/zh-cn_image_0000001937073294.png "点击放大")
      通过上述操作会出现libs图标以及对应依赖包所在位置，单击"OK"即可完成依赖包配置。
      ![](https://support.huaweicloud.com/usermanual-testman/zh-cn_image_0000001937073250.png "点击放大")
      
    
   
   
**开发自定义关键字**
1. **创建包（至少创建一个层级的包** ）。
   
   ![](https://support.huaweicloud.com/usermanual-testman/zh-cn_image_0000001936913934.png "点击放大")
   ![](https://support.huaweicloud.com/usermanual-testman/zh-cn_image_0000001964152277.png "点击放大")
   
   
2. **创建java类** 。
   
   - 类名规则：类名可自定义，建议不超过100个字符，且有具体含义。 ![](https://support.huaweicloud.com/usermanual-testman/zh-cn_image_0000001937073290.png "点击放大")
     ![](https://support.huaweicloud.com/usermanual-testman/zh-cn_image_0000001936913914.png "点击放大")
     
   
   
   
   
3. **创建自定义关键字入口方法** 。
   
   入口方法规则：
   - 方法必须为静态方法，方法名可以自定义。
   
   - 入参类型必须为基本类型或者其包装类型。
   
   - 方法返回类型必须为AWResponse类型，该类位于com.huawei.devcloud.apitest.aw包下。 ![](https://support.huaweicloud.com/usermanual-testman/zh-cn_image_0000001937073278.png "点击放大")
     
   
   
   
   
4. **日志打印** 。
   
   日志打印规范：
   - 必须使用LogHelper.log(String key, String value) 进行自定义日志打印。
   
   - 如需打印返回体可使用LogHelper. logAwResponse(AWResponse awResponse)方法。
   
   - LogHelper类位于com.huawei.devcloud.cloudtest.apitest.aw.customaw包下。 ![](https://support.huaweicloud.com/usermanual-testman/zh-cn_image_0000001937073258.png "点击放大")
     
   
   
   
   
5. **打包** 。
   
   1. 单击"File\>Project structure"，选择"Artifacts"，然后单击页面上方+号，选择"JAR\>Empty"。 ![](https://support.huaweicloud.com/usermanual-testman/zh-cn_image_0000001937073266.png "点击放大")
      
   
   2. 填写JAR包名称后双击下图红框选的内容，选择将工程编译输出到JAR包中。 ![](https://support.huaweicloud.com/usermanual-testman/zh-cn_image_0000001937073254.png "点击放大")
      
   
   3. 回到主页，单击"Build\>Build Artifacts"。 ![](https://support.huaweicloud.com/usermanual-testman/zh-cn_image_0000001964032497.png "点击放大")
      
   
   4. 在弹框中单击"Build"。 ![](https://support.huaweicloud.com/usermanual-testman/zh-cn_image_0000001964152313.png)
      
   
   5. 在右侧工程目录中可看到out目录，在"out\>artifacts\>工程名"目录下即可看到对应JAR包。 ![](https://support.huaweicloud.com/usermanual-testman/zh-cn_image_0000001936913902.png "点击放大")
      
   
   
   
   
 
