云服务器内容精选

  • 快捷调试导入 CodeArts API支持Postman的Collection数据文件的导入,也支持Collections和Environments数据集ZIP包的全量导入,方便用户迁移调试数据。 进入“快捷调试”页面,单击,选择“导入Postman文件”。 弹出“导入Postman文件”对话框,选择需要导入的Postman文件。 Collection数据文件的导入 弹出“导入”对话框,选择需要导入的接口,单击“导入”完成数据迁移。 Collections和Environments数据集ZIP包的导入 弹出“导入”对话框,选择需要导入的接口和环境变量,单击“导入”完成数据迁移。 父主题: 导入与导出
  • Markdown设计 新建Markdown,可通过以下三种方式完成。 方法一:单击“新建 Markdown”图标。 方法二:单击目录树搜索框右侧的,在弹出的下拉框中,选择“新建Markdown”。 方法三:在目录树中选择一个目录,单击右侧图标,在弹出的下拉框中,选择“新建Markdown”。 进入“新建标签页”,在该标签页可以编辑Markdown文件,主要包括:目录、名称、正文。 目录:在上一步中,如果通过方法一和方法二新建Markdown,目录初始内容为空,可以手动选择;如果通过方法三新建Markdown,目录会自动生成为选中的目录,也可以手动修改。 名称:可根据业务需要自定义命名,不能为空。命名规则:只支持中文、英文、下划线、数字和“.”,且以中英文开头,长度为3-64个字符。 正文:可手动输入文字,也可使用组件插入特定的内容,如:表格、超链接、图片;正文样式也可以使用组件进行调整;正文编辑支持全屏模式;在左侧编辑正文时,右侧会同步展示编辑内容,便于查看、修改样式等。 编辑完成后,单击右上角“保存”,左侧目录树同步刷新,界面会自动跳转到文档页面,展示名称、正文,上方标签页的名称也会更新为Markdown文件名称。 移动Markdown(可选)。 单击并拖拽Markdown到目标目录后释放即可,移动成功后,目录树会自动刷新,Markdown文件的目录也会同步改变。 Markdown文件只能在同一根目录下进行移动。 处于编辑页面的Markdown文件不能移动。 父主题: API设计
  • 请求体 在Body页签中,可以查看请求体,目前支持的请求体有如下几类: none:无body参数。 form-data:Content-Type为“multipart/form-data”,可以输入请求体中每个参数的类型、名称和值。 application/x-www-form-urlencoded:Content-Type为“application/x-www-form-urlencoded”,可以输入请求体中每个参数的名称和值。 raw:在文本框中输入文本内容,在“raw”选项旁边可以下拉选择输入文本内容格式,如Text和Json。 请求参数的默认值均来自API设计的样例值。 在API调试页面修改请求参数,不能保存至API设计与API文档中。
  • 接口路径 API调试页面的接口路径,可以选择http或https,并在定义的路径前自动添加了域名。添加的域名是在右上角选择的环境参数中定义的,单击左侧下拉箭头可在不同运行环境间切换,单击下拉箭头右上角按钮,可进行环境参数配置。 针对各个环境,默认提供变量“hostURL”参数作为添加到接口前的域名,从而拼接成完整地址。 可以看到对应环境“默认环境”中的“hostURL”参数的值“127.0.0.1:8080”被添加到接口URL前,作为整个路径的域名。鼠标悬浮在路径前,提示次前置URL来自于哪一环境,单击环境名称,可直接跳转至相应环境下进行编辑。 路径中大括号“{}”中的字符串表示Path参数。 路径中“?”后的字符串表示Query参数。 如果在调试页面路径栏下方的Query属性框中,对Query参数进行修改,路径中的Query参数也会同步变化。
  • 对于响应的处理 pm.response 在后置脚本中pm.response接口请求完成后返回响应信息,Response SDK 参考。 response包含了以下结构: pm.response.code:Number:获取响应码。 pm.response.status:String:获取响应状态。 pm.response.headers:HeaderList:获取响应头。 pm.response.responseSize:Number:获取响应大小。 pm.response.text():Function:以文本形式输出响应体。 pm.response.json():Function:以json形式输出响应体。 pm.response.setBody(''):设置响应体。 pm.response.headers.get:从响应头中获取指定参数的值,Response SDK 参考。 后置脚本中使用“pm.response.headers.get”命令可以获取响应头中指定参数的值。例如想要获取响应Header中date参数的值,那么可以在后置操作中输入如下自定义脚本: var test = pm.response.headers.get("date"); console.log(test);
  • 对于发送请求的处理 pm.sendRequest pm.sendRequest:Function用于脚本异步发送HTTP/HTTPS的请求。 更多参数信息请查阅Collection SDK 文档 。 在前置脚本和后置脚本都可以使用。 更多参考: Request JSON 结构 Response 结构 // 使用字符串URL示例 pm.sendRequest("https://postman-echo.com/get", function(err, resq) { if (err) { console.log(err); } else { pm.variables.set("variable_name", "new_value"); } }); // 完整请求示例 const echoPostRequest = { url: "https://postman-echo.com/post", method: "POST", header: { header_name1: "value1", header_name2: "value2", }, // body 为 x-www-form-urlencoded 格式 body: { mode: "urlencoded", // 此处为 urlencoded // 此处为 urlencoded urlencoded: [ { key: "account", value: "codeartsapi" }, { key: "password", value: "123456" }, ], }, /* // body 为 form-data 格式 body: { mode: 'formdata', // 此处为 formdata // 此处为 formdata formdata: [ { key: 'account', value: 'codeartsapi' }, { key: 'password', value: '123456' } ] } // body 为 json 格式 header: { "Content-Type": "application/json", // 提醒:header中需要添加Content-Type }, body: { mode: 'raw', raw: JSON.stringify({ account: 'codeartsapi', password:'123456' }) } // body 为 raw 或 json 格式 body: { mode: 'raw', raw: 'body内容' } */ }; pm.sendRequest(echoPostRequest, function(err, resq) { console.log(err ? err : resq.json()); }); // 对返回结果进行断言 pm.sendRequest("https://postman-echo.com/get", function(err, resq) { if (err) { console.log(err); } pm.test("response should be OK to process", function() { pm.expect(err).to.equal(null); pm.expect(resq).to.have.property("code", 200); pm.expect(resq).to.have.property("status", "OK"); }); });
  • pm pm:Object pm对象,含有接口运行关联信息。可利用它获取或设置环境变量和全局变量,且访问请求信息和返回结果信息。 pm:info:Object pm.info对象,含有接口运行关联信息。 pm.info.eventName:String:获取当前执行的脚本类型:前置脚本(prerequest),后置脚本(test)。 pm.info.iterationCount:Number:返回执行循环的总次数,仅集合测试有效。 pm.info.iteration:Number:获取当前执行循环(iteration)次序,仅集合测试有效。 pm.info.requestId:String:获取运行中接口用例的唯一ID。 pm.info.requestName:String:获取运行中接口用例名称。
  • 对于请求的处理 pm.request pm.request对象可以在脚本中对请求数据进行访问,Request SDK 参考。在前置脚本中表示即将运行的请求,在后置脚本中,表示已经运行的请求。 pm.request包含了以下结构: pm.request.url:Url:获取当前请求的URL。 pm.request.getBaseUrl():获取运行中环境选择的前置URL。 pm.request.method:String:获取当前请求的方法,如GET、POST等。 pm.request.headers:HeaderList:获取当前请求的headers列表。 pm.request.body:RequestBody:获取当前请求的body体。 pm.request.headers.add({ key: headerName:String, value: headerValue:String}):function:为当前请求添加指定键和值的header。 pm.request.headers.remove(headerName:String):function:删除当前请求里指定键的header。 pm.request.headers.get(headerName:String):function:获取请求里指定名称的header。 pm.request.headers.upsert({ key: headerName:String, value: headerValue:String}):function:插入指定键和值的header(如果header不存在则新增,如果header已存在则修改)。 pm.request.auth:获取请求的身份验证信息。
  • 设计API 接口文档应针对以下要素进行设计: 接口基本信息 接口路径 请求方式 接口请求参数 接口返回响应 安全方案 接口基本信息 填写接口的基本信息,包括: 名称:接口名称。 摘要:接口的摘要信息。 状态:API生命周期的状态,包括设计中、联调中、测试中、测试完、已发布、将废弃、已废弃。 所属目录:接口在项目中所属的目录。 所属Tags:接口所属的Tags,可以直接选择所属目录信息当作所属Tags,也可以在所属Tags框中手动输入Tag名再回车来生成所属Tags。 描述:可添加接口的相关描述,包括接口功能、使用注意事项、使用场景定义等详细描述信息,接口描述支持通用Markdown语言编辑。 接口路径 接口的URL,客户端可以通过接口路径向服务端发起请求。以“/”开头,如:“/car”、“/car/{owner}”。 接口路径一般不包含域名和http、https协议名,如需加上域名进行调试,在调试功能页面有相应处理。 大括号“{}”中间的字符串表示Path参数。 不支持通过接口路径来添加Query参数,如:“/car?owner=zhangsan”。 请求方式 定义接口的请求方式,制定了客户端对服务端资源操作的方法,在API设计过程中,需要根据业务和操作类型选择合适的请求方式。 GET(获取):用于获取指定资源,使用查询参数传递参数,适用于读取资源和查询数据。 POST(提交):用于提交数据。POST请求可以传递请求体参数,适用创建新资源、提交表单数据或执行某些操作等场景。 PUT(更新):用于更新或替换服务端的指定资源。 DELETE(删除):用于删除服务端的指定资源。 OPTIONS(选项):用于获取服务器支持的http方法和资源的相关信息。可用于客户端与服务端之间的握手过程,了解服务器所支持的方法和功能。 HEAD(请求头):与GET类似,但只返回响应头部,不返回实体内容,用于获取资源的元信息,如:文件大小、修改日期等。 PATCH(补丁):用于对资源进行局部更新。PATCH请求类似于PUT请求,但是只更新资源的一部分。 TRACE(跟踪):用于简历与代理服务器的隧道连接,通常用于进行安全的SSL/TLS加密通信。 接口请求参数 Params、Path、Header、Cookies Query参数:接口请求中的一种参数传递方式,它通常用于传递一些可选的参数,比如过滤条件、排序方式、分页参数等。在URL中表现为末尾“?”后的字符串(如:“/car?owner=zhangsan”,那么“owner=zhangsan”即Query参数,其中“owner”为参数的key,“zhangsan”为参数的value)。 Path参数:也称为“路径参数”,是API请求中的一种参数传递方式。在URL中表现为大括号“{}”括起来的字符串(如:“/car/{owner}”,那么“{owner}”表示key为“owner”的Path参数)。 Header参数:请求头中的参数。 Cookies:类型为“小型文本文件”,是某些网站为了辨别用户身份,进行Session跟踪而储存在用户本地终端上的数据(通常经过加密),由用户客户端计算机暂时或永久保存的信息。 前置脚本:CodeArts API支持接口前置脚本操作,详见脚本能力。 后置脚本:CodeArts API支持接口后置脚本操作,详见脚本能力。 请求体 在发起http请求时,需要带上一些参数以便服务器处理,通过http请求体传递的参数被称为Body参数。Body参数包含在请求的主体部分中,通常是一些表单数据、JSON数据或者二进制数据。在发送请求时,会根据Body参数类型,自动在请求Header中添加对应Content-Type参数。若手工设置Content-Type的类型,则必须与Body的参数类型匹配,否则系统会自动忽略掉手动设置的Content-Type值。 none:无body参数。 application/json:json格式数据。Content-Type为 “application/json”。 application/xml:xml类型数据,用于标识文件和图像等没提类型,也可以标识结构化数据。Content-Type为 “application/xml”。 multipart/form-data:表单数据。Content-Type为 “multipart/form-data”。 application/x-www-form-urlencoded:将表单数据编码后传输到服务器。数据被编码为一系列键值对,每个键值对之间以&连接,并且键与值之间以=分隔。Content-Type为“application/x-www-form-urlencoded” 。 此外,还支持根据Body体数据结构自动生成示例,以及单击“智能导入”,根据输入的Json自动生成数据结构功能。 接口返回响应 返回响应的定义包含:返回响应的状态码、响应内容的数据结构、响应示例和响应头。 返回响应的状态码:通过加号来添加运行接口后可能的响应状态码,单击响应状态码可以对状态码进行修改。 响应内容的数据结构:规定响应内容的格式,分为“application/json”、“application/xml”、“text/plain”三种,“application/json”和“application/xml”两种情况下可以对响应内容的结构进行进一步定义,如:响应内容为“application/json”,规定json内容里的参数类型等。 响应示例:响应内容的示例。 响应头:返回响应的Header。 返回响应也可以直接引用公共模型中已定义好的“公共响应”,并且支持自动生成响应示例。 安全方案 OpenAPI规范中,安全模型对应OpenAPI3.0的components.securitySchemes。大部分的Web服务都需要经过身份认证才能访问,security就是用于描述API的安全信息和访问授权协议等信息的对象,Open API支持的最常见授权方案如下: API key HTTP Oauth2.0 OpenID Connect 安全方案引入需要在公共模型中建立安全模型,详见•安全模型。
  • 测试用例导入 CodeArts API提供不同版本测试用例的导入功能。 在“版本管理”页面,单击目标版本操作列的,选择“导入”。 弹出“从版本导入测试用例”对话框。 填写导入信息,单击“确定”,完成测试用例的导入。 参数名称 说明 覆盖规则 勾选后,会覆盖编号重复用例和脚本,且无法回退。 版本选择 原版本:需要导入的测试用例版本。 目标版本:被导入测试用例的版本,不可更改。 用例选择 需要导入的测试用例列表。 因存量版本未在API测试模块中被同步创建,不可导入API测试未存在版本的测试用例。
  • 断言 可以利用后置脚本验证API响应返回结果的正确性。 // 示例1:pm.response.to.have pm.test('Response status is 200', function() { pm.response.to.have.status(200); }); // 示例2:pm.expect() pm.test('this is production', function() { pm.expect(pm.environment.get('env')).to.equal('production'); }); // 示例3:response assertions pm.test('no error', function() { pm.response.to.not.be.error; pm.response.to.have.jsonBody(''); pm.response.to.not.have.jsonBody('error'); }); // 示例4:pm.response.to.be* pm.test('no error', function() { // 断言结果:info, success, redirection, clientError, serverError, are other variants pm.response.to.be.ok; // 断言有body,并且是json格式 pm.response.to.be.withBody; pm.response.to.be.json; });
  • 创建IAM用户并授权步骤 管理员登录IAM控制台。 单击“用户组”,进入用户组页面。 单击“创建用户组”创建新的用户组。(可选) 在用户组列表中,单击用户组右侧的“授权”,进入用户组权限设置页面。 在用户组选择策略页面中,勾选“DevCloud Console ReadOnlyAccess”权限。单击“下一步”。 选择权限的作用范围后,单击“确定”,完成用户组授权。 在IAM控制台单击“用户-》创建用户”,创建IAM用户。(可选) 在用户组列表中,单击用户组右侧的“用户组管理”。 在“可选用户”中选择需要添加至用户组中的用户。 单击“确定”,完成用户授权。 用户登录并验证权限。 用户登录CodeArts API,可正常使用产品,但不可创建项目。 将授权用户添加至项目请参照成员管理。 设置新建项目权限可授权ProjectMan ConfigOperations策略,或通过在CodeArts首页设置项目创建者完成权限设置。 设置软件开发生产线控制台管理员权限可授权DevCloud Console FullAccess策略,DevCloud Console FullAccess及DevCloud Console ReadOnlyAccess区别,请参照软件开发生产线控制台权限说明。
  • 手动导入 通过主页面的“更多功能”选项或单击左上角搜索框旁边的,可以展示当前支持的导入选项,可根据需要选择。 导入文件 选择响应格式的文件并上传,然后选择文件中系统识别出来的接口和数据模型导入。 一个文件导入后,将会视为一个根目录,一个根目录中不允许存在URL相同的接口。 Postman支持Collections和Environment数据集ZIP包的全量导入,也支持单个Collection文件导入。 Postman支持接口和接口用例的前置脚本及后置脚本导入。 导入URL 选择“导入Swagger URL”,输入URL,即可完成文档导入。 通过Swagger URL导入时,需要填写json数据文件的URL,而非Swagger UI的URL。
  • 新建快捷调试 进入项目后,单击搜索框旁,可根据需要选择“新建快捷调试”或“导入Postman文件”进行快捷调试。 新建快捷调试 单击“新建快捷调试”,生成“快捷调试”页签。 输入接口完整URL,单击“发送”即可对已有接口进行快捷调试。 Params、Header、Cookies、Auth参数设计请参照API设计进行快速设计。 前置脚本、后置脚本操作请查看脚本能力章节。 导入Postman文件 单击“导入Postman文件”,弹出“导入Postman文件”对话框。 上传需要导入的Postman文件,选择导入范围,可选择“全部”或者“选择快捷调试”。 导入通过Postman导出的文件时,接口示例会被同时导入为快捷调试接口,名称和Postman中接口示例名称相同。 单击“导入”,导入成功后可直接单击“发送”进行调试,也可保存为接口。
  • 新建快捷调试 进入项目后,单击搜索框旁,可根据需要选择“新建快捷调试”或“导入Postman文件”进行快捷调试。 新建快捷调试 单击“新建快捷调试”,生成“快捷调试”页签。 输入接口完整URL,单击“发送”即可对已有接口进行快捷调试。 Params、Header、Cookies、Auth参数设计请参照API设计进行快速设计。 前置脚本、后置脚本操作请查看脚本能力章节。 导入Postman文件 单击“导入Postman文件”,弹出“导入Postman文件”对话框。 上传需要导入的Postman文件,选择导入范围,可选择“全部”或者“选择快捷调试”。 导入通过Postman导出的文件时,接口示例会被同时导入为快捷调试接口,名称和Postman中接口示例名称相同。 单击“导入”,导入成功后可直接单击“发送”进行调试,也可保存为接口。