财经频道

Python如何实现对系统的API接口功能实现自动化测试?(testng接口自

作者:dapanwang 2021-07-16 

根据题主的描述,题主主要想解决的问题是:如何基于复杂场景(多接口耦合)开展接口自动化测试股票数据接口api。

Python如何实现对系统的API接口功能实现自动化测试?(testng接口自动化测试)

最佳实践:Python + Robot Framework。

上面的最佳实践也是走了很多坑,蹚出来的。曾尝试过很多方式,甚至还开发过基于关键字驱动的自动化测试框架。先说说基于场景的自动化有哪些难点,为什么最终选择Python+Robot Framework。

痛点:接口与接口的耦合,使得A接口的输入依赖a接口的输入,环环相套。(Mock的方式此处不讨论)。

复杂场景的自动化用例冗长、调试、维护成本高。维护成本高的自动化持续性很差,大多半途而废。自动化用例开发对编码有一定的要求,不适应不具备编码能力的人进行自动化用例开发、维护。解决思路借鉴关键字驱动测试思想,把接口请求发送、响应校验、响应内容返回,三部分封装成"请求校验"关键字。

同时再封装"内容提取"关键字——提取接口响应体特定数据。这样就可以获取上一个接口返回中的特定数据作为下一个接口的输入参数。

如此。任何场景都可以通过"请求校验"关键字 + "内容提取"关键字 + "请求校验"关键字 +…

如何落地这里就需要考虑选择哪些方法和工具的问题了,首先关键字方法的实现通过Python基于测试库架构框架的思想开发相关关键字方法。Robot Framework工具核心思想就是关键字驱动,使用其Ride进行关键字库、资源导入、用例编写。这里建议在将关键字方法作为库导入后,用自然语言对每个关键字做一次映射,这样便于业务测试人员使用。

Robot Framework 同样支持数据驱动,可以了解一下。

有哪些软件可以免费获取股票财经数据?

看了一下其他的回答,都是通过现有的软件来获取股票财经数据,其实python也可以免费获取股票财经数据,主要用到tushare这个包(一个免费获取股票财经数据的第三方库),下面我简单介绍一下吧,实验环境win10+python3.6+pycharm5.0,主要内容如下:

Python如何实现对系统的API接口功能实现自动化测试?(testng接口自动化测试)

1.安装tushare,这个直接在cmd窗口输入命令“pip install tushare”就行,如下:

Python如何实现对系统的API接口功能实现自动化测试?(testng接口自动化测试)

Python如何实现对系统的API接口功能实现自动化测试?(testng接口自动化测试)

2.安装完成后,我们还需要到tushare官网注册一下,获取一下token,后面的代码要用到,如下:

Python如何实现对系统的API接口功能实现自动化测试?(testng接口自动化测试)

Python如何实现对系统的API接口功能实现自动化测试?(testng接口自动化测试)

3.最后,我们就可以获取股票数据了,官网有详细的文档教程,主要包括日线行情、周线行情、月线行情、复权行情、停复牌信息、每日指标、复权因子等,下面我简单介绍一下:

Python如何实现对系统的API接口功能实现自动化测试?(testng接口自动化测试)

获取股票日线行情数据,测试代码如下:

Python如何实现对系统的API接口功能实现自动化测试?(testng接口自动化测试)

Python如何实现对系统的API接口功能实现自动化测试?(testng接口自动化测试)

Python如何实现对系统的API接口功能实现自动化测试?(testng接口自动化测试)

Python如何实现对系统的API接口功能实现自动化测试?(testng接口自动化测试)

程序运行截图如下,包含有开盘价、最高价、最低价、收盘价、成交量等股票信息:

Python如何实现对系统的API接口功能实现自动化测试?(testng接口自动化测试)

Python如何实现对系统的API接口功能实现自动化测试?(testng接口自动化测试)

获取月线行情数据,测试代码如下:

程序运行截图如下,就是我们获取的那些股票月开盘价、收盘价、成交量等信息:

获取复权行情数据,测试代码如下:

程序运行截图如下,已经成功获取到复权行情数据:

获取每日指标数据,代码如下:

程序运行截图如下,已经成功获取到股票换手率、量比、市盈率、总股本、总市值等数据:

获取复权因子数据,代码如下:

已经成功获取到复权因子数据:

就介绍这么多吧,更多示例可以查看官方教程,很详细,后面也可以结合matplot和mpl_finance对获取的股票数据进行可视化,感兴趣的可以搜一下,网上有相关教程和资料,当然,你也可以利用相关软件或网站来获取股票数据,都可以,我这里就是提供一种思路,感兴趣的可以尝试一下,希望以上分享的内容能对你有所帮助吧。

本文出自: 财商时报,文章来源皆为网络整理并不代表我们的立场。