要通过商品id获取商品数据,一般需要使用相应电商平台的API接口。其中包括传递商品id的参数和相应的请求头信息。具体实现步骤如下:
-
首先,需要在电商平台中获取商品id。
-
然后,根据电商平台提供的API接口,使用GET或POST等请求方式向平台发送请求,传递商品id等参数和请求头信息。
-
通过请求接口,获取到后端返回的商品数据。常见的数据格式包括JSON、XML等,通过解析数据格式将商品数据解析出来,可以获取价格、销量、库存、图片等信息。
-
读取商品数据,一般可使用Python等编程语言中的相应库进行数据的读取和处理,将商品数据存储到数据库中或者输出到Excel等格式的文件中。同时,在数据读取和处理的过程中,需要注意编码格式和数据的清洗,以保证数据的准确性和完整性。
总之,要通过商品id获取商品数据,需要熟悉电商平台的API接口调用方式和数据格式,同时需要一定的编程能力和数据处理经验。
必修课目录
1、什么是API?
2、什么是API测试
3、API测试的测试用例:
4、API测试方法:
5、如何进行API测试
6、API测试的最佳做法:
7、API测试检测到的错误类型
8、API测试工具
9、API测试的挑战
10、结论:
在进行API测试之前,我们先了解一下
1、什么是API?
API(全称Application Programming Interface)是两个单独的软件系统之间的通信和数据交换。实现API的软件系统包含可以由另一个软件系统执行的功能/子例程。
2、什么是API测试
API测试是一种用于验证API(应用程序编程接口)的软件测试类型。它与GUI测试非常不同,主要集中在软件体系结构的业务逻辑层。在API测试中,您无需使用标准的用户输入(键盘)和输出,而是使用软件将调用发送到API,获取输出并记下系统的响应。
API测试需要可以通过API进行交互的应用程序。为了测试API,您需要
使用测试工具调用API
名称 | 类型 | 必须 | 描述 |
---|---|---|---|
key | String | 是 | 调用key(请求测试) |
secret | String | 是 | 调用密钥 |
api_name | String | 是 | API接口名称(包括在请求地址中)[item_search,item_get,item_search_shop等] |
cache | String | 否 | [yes,no]默认yes,将调用缓存的数据,速度比较快 |
result_type | String | 否 | [json,jsonu,xml,serialize,var_export]返回数据格式,默认为json,jsonu输出的内容中文可以直接阅读 |
lang | String | 否 | [cn,en,ru]翻译语言,默认cn简体中文 |
version | String | 否 | API版本 |
编写自己的代码调用API
props": [
{
"name": "品牌",
"value": "三刃木"
},
{
"name": "产地",
"value": "中国"
},
{
"name": "颜色分类",
"value": "长方形带开瓶器+送工具刀卡+链子,椭圆形带开瓶器+送工具刀卡+链子,GJ018X钥匙刀+送工具刀卡+链子,超凡大师套餐【送工具卡+链子】,最强王者套餐【送工具卡+链子】,璀璨钻石套餐【送工具卡+链子】"
},
{
"name": "吊牌价",
"value": "46"
},
{
"name": "功能数量",
"value": "5个及以下"
},
{
"name": "货号",
"value": "GJ019C"
},
{
"name": "附加功能",
"value": "开瓶器,刀,螺丝刀,钥匙圈,其他"
}
],
"total_sold": "1",
"skus": {
"sku": [
{
"price": "39",
"orginal_price": "39.00",
"properties": "1627207:1347647754",
"properties_name": "1627207:1347647754:颜色分类:长方形带开瓶器+送工具刀卡+链子",
"quantity": "104",
"sku_id": "3166598625985"
},
{
"price": "39",
"orginal_price": "39.00",
"properties": "1627207:1347647753",
"properties_name": "1627207:1347647753:颜色分类:椭圆形带开瓶器+送工具刀卡+链子",
"quantity": "370",
"sku_id": "3166598625984"
},
{
"price": "25.8",
"orginal_price": "25.80",
"properties": "1627207:1195392087",
"properties_name": "1627207:1195392087:颜色分类:GJ018X钥匙刀+送工具刀卡+链子",
"quantity": "34",
"sku_id": "3144644292458"
},
{
"price": "73.8",
"orginal_price": "73.80",
"properties": "1627207:1331112595",
"properties_name": "1627207:1331112595:颜色分类:超凡大师套餐【送工具卡+链子】",
"quantity": "157",
"sku_id": "3161300228970"
},
{
"price": "91.8",
"orginal_price": "91.80",
"properties": "1627207:1331112594",
"properties_name": "1627207:1331112594:颜色分类:最强王者套餐【送工具卡+链子】",
"quantity": "0",
"sku_id": "3161300228969"
},
{
"price": "63.8",
"orginal_price": "63.80",
"properties": "1627207:1331264247",
"properties_name": "1627207:1331264247:颜色分类:璀璨钻石套餐【送工具卡+链子】",
"quantity": "167",
"sku_id": "3161107666655"
}
]
3、API测试的测试用例:
API测试的测试用例基于
基于输入条件的返回值:相对容易测试,因为可以定义输入并可以验证结果
不返回任何内容:没有返回值时,将检查系统上的API行为
触发其他一些API /事件/中断:如果API的输出触发了某些事件或中断,则应跟踪这些事件和中断侦听器
更新数据结构:更新数据结构将对系统产生某些结果或影响,应进行身份验证
修改某些资源:如果API调用修改了某些资源,则应通过访问相应资源来对其进行验证
4、API测试方法:
以下几点可帮助用户进行API测试:
了解API程序的功能并明确定义程序范围
应用诸如等效类,边界值分析和错误猜测之类的测试技术,并为API编写测试用例
API的输入参数需要适当计划和定义
执行测试用例,并比较预期结果和实际结果。
API测试和单元测试之间的区别
5、如何进行API测试
API测试应至少涵盖除常规SDLC流程以外的以下测试方法:
发现测试:测试组应手动执行API中记录的一组调用,例如验证是否可以列出,创建和删除API公开的特定资源。
可用性测试:此测试可验证API是否功能正常且用户友好。API是否也可以与其他平台很好地集成
安全测试:此测试包括需要哪种身份验证以及是否通过HTTP加密敏感数据或同时通过这两种方法对敏感数据进行加密
自动化测试:API测试应以创建一组脚本或可用于定期执行API的工具为最终结果
文档:测试团队必须确保文档足够,并提供足够的信息来与API交互。文档应成为最终交付成果的一部分
6、API测试的最佳做法:
测试用例应按测试类别分组
在每个测试的顶部,您应包括被调用的API的声明。
测试用例中应明确提及参数选择
确定API函数调用的优先级,以便测试人员轻松进行测试
每个测试用例应尽可能独立且独立于依赖项
在开发中避免“测试链”
处理诸如-Delete,CloseWindow等一次性调用函数时必须格外小心。
呼叫排序应执行且计划合理
为了确保完整的测试范围,请为API的所有可能的输入组合创建测试用例。
7、API测试检测到的错误类型
无法优雅地处理错误情况
未使用的标志
功能缺失或重复
可靠性问题。难以连接API并从API获得响应。
安全问题
多线程问题
性能问题。API响应时间非常高。
错误的错误/警告呼叫者
对有效参数值的错误处理
响应数据的结构不正确(JSON或XML)
8、API测试工具
由于API和单元测试都是目标源代码,因此可以使用工具/框架进行自动化。
jmeter
postwomen
Parasoft SOAtest
Runscope
Postman
Curl
Eclipse SDK tool- Automated API testing
9、API测试的挑战
API测试的挑战包括:
Web API测试中的主要挑战是参数组合,参数选择和调用排序
没有可用于测试应用程序的 GUI ,这很难提供输入值
对测试人员而言,在不同系统中验证和验证输出几乎没有困难
测试人员必须知道参数的选择和分类
异常处理功能需要测试
测试人员必须具备编码知识
10、结论:
API由代表业务逻辑层的一组类/函数/过程组成。如果未正确测试API,则可能不仅会导致API应用程序出现问题,还会导致调用应用程序出现问题。它是软件工程中必不可少的测试。