Python开发工具Pipenv、Zicada、pyecharts、TestSteps介绍

以下为你介绍的Python开发工具都可用在Linux系统上:Pipenv(Python 包管理工具)、Zicada(爬虫规则录制客户端)、pyecharts(使用 Python 生成 Echarts 图表的类库)、TestSteps(Python 测试软件包)。

1、Pipenv(Python 包管理工具)

Python开发工具Pipenv、Zicada、pyecharts、TestSteps介绍

Pipenv 是 Python.org 官方推进的 Python 包管理工具,旨在将所有包管理工具(如 bundler、composer、npm、cargo、yarn 等)的优点集中应用于 Python 领域中的工具。它对各个平台都有很好的支持。

Pipenv 可以为你的项目自动创建和管理虚拟环境,并且在你安装/删除包时自动在 Pipfile 中添加/移除相应的包。它同时生成一个非常重要的 Pipfile.lock 文件,来保证所构建环境的确定性。

Pipenv 试图解决多方面的的问题:

无需再分别使用 pip 和 virtualenv ,在 Pipenv 中他们一起工作。

管理一个 requirements.txt 文件可能会产生很多问题,所以 Pipenv 利用后面出现的 Pipfile 和 Pipfile.lock 将其代替,这在实际例子中效果会更好。

为了安全性,哈希在多处被使用。自动公开安全漏洞。

通过图形深入了解当前的依赖关系($ pipenv graph)。

通过加载 .env 文件简化开发流程。

安装:

如果您使用的是MacOS,则可以使用Homebrew轻松安装Pipenv:

$ brew install pipenv

或者,如果您使用的是Debian Buster+:

$ sudo apt install pipenv

或者,如果您使用的是Fedora:

$ sudo dnf install pipenv

或者,如果您使用的是FreeBSD:

# pkg install py36-pipenv

Shell Completion:

例如,对于fish,将其放在~/.config/fish/completions/pipenv.fish中:

eval (pipenv --completion)

或者,使用bash将其放入.bashrc或.bash_profile中:

eval "$(pipenv --completion)"

Magic shell completions现已启用!还有一个fish插件,它将自动为您激活子外壳!

下载地址:https://github.com/pypa/pipenv

2、Zicada(爬虫规则录制客户端)

Zicada系统最基本的功能就是录制爬虫抓取的页面规则。将抓取规则划分为登录页、列表页、详情页以及翻页,自由定制。Zicada系统分为本地模式和远程模式。

本地模式:

在文件的根目录下有一个zicada.exe文件,双击,默认账号/密码:admin/admin123 进入系统后,可为你的URL创建任务,录制的时候,先要选择抓取的环节,Ctrl+鼠标左键,即可录制web页面中的元素。当单击无法打开页面链接的时候,Alt+鼠标左键,即可打开页面元素的链接。点击完成即可将录制的脚本保存到本地sqlite3数据库。

远程模式:

远程模式除了需要客户端之外,还需要一个服务端:服务端的jar包,密码:mweo,SQL,密码:kvs5,需要修改数据库配置。远程模式需要在本地模式下进行配置远程服务端的信息,退出后,再以远程身份登录 默认的远程客户端的账号/密码:admin/admin123 远程模式最大的好处在于,将录制的脚本信息同步到远程的MySQL数据库。

使用者可以自行处理这些录制的脚本,比如爬虫等。

3、pyecharts(使用 Python 生成 Echarts 图表的类库)

Python开发工具Pipenv、Zicada、pyecharts、TestSteps介绍

pyecharts 是一个用于生成 Echarts 图表的类库。实际上就是 Echarts 与 Python 的对接。

Echarts 是百度开源的一个数据可视化 JS 库。看了官方的介绍文档,觉得很不错,就想看看有没有人实现了 Python 库可以直接调用的。Github 上找到了一个 echarts-python 不过这个项目已经很久没更新且也没什么介绍文档。借鉴了该项目,就自己动手实现一个,于是就有了 pyecharts。API 接口是从另外一个图表库 pygal 中模仿的。

安装:

pip 安装:

# 安装 v1 以上版本

$ pip install pyecharts -U

# 如果需要安装 0.5.11 版本的开发者,可以使用

# pip install pyecharts==0.5.11

源码安装:

# 安装 v1 以上版本

$ git clone https://github.com/pyecharts/pyecharts.git

# 如果需要安装 0.5.11 版本,请使用 git clone https://github.com/pyecharts/pyecharts.git -b v05x

$ cd pyecharts

$ pip install -r requirements.txt

$ python setup.py install

下载地址:https://github.com/pyecharts/pyecharts

4、TestSteps(Python 测试软件包)

TestSteps 是一个 Python 软件包,通过提供一系列的模块和函数,帮助 Python 开发和测试人员方便快速地编写测试用例,并自动记录日志。

TestSteps 提供的主要功能:

自动记录日志。

根据环境变量TESTSUITE_CONFIG_PATH自动装载相应的TestBed描述并初始化测试环境,完全实现测试用例的移植性(不同的环境定义不同的TestBed文件)。

支持环境变量TESTSTEP_LOG_PATH 定义日志目录。

提供预定义的多个check函数(用于判断pass/fail)。

提供多个选项用于测试判断,如:timeout、Exception、retry、xfail,使测试用例简洁清晰易读。

提供接口用于函数和选项扩展。

安装:

pip install test_steps

简单的例子:

from test_steps import *

def test_example()

ok("just pass the check and log it")

#fail("Just fail the check and log it")

ok(3+2 == 5, "pass if expr else fail")

#eq("Shanghai", "Beijing", "Shanghai not equal to Beijing")

eq(4+5, 9)

ne("Shanghai", "Beijing", "Pass, Shanghai not equal to Beijing")

#'Shanghai City' contains 'Country', the second parameter could be regex

match("Shanghai City", "Country")

unmatch("Shanghai City", "Country", "Pass, not contains, regex can be used too")

带选项的 check 函数:

# Just as match(string1.range(1..4), r'\w\-\w') function

check("match(string1.range(1..4), r'\w\-\w')")

# Run the code string; pass if it return in 15 seconds, or fail with timeout exception

check("num_async.data_sync()", timeout = 15)

# repeat option. In 20 seconds, if the expr returns False, re-run it every another second,

# until it returns True (which means pass), or time is out (which means fail)

check("num_async.get_value() == 500", repeat = 20, xfail = True)

# Run code_string in a particular name space, here, to run code string in shanghai object's name space

check("cars.averagespeed() > 50 ", globals = shanghai.__dict__)

check("1/0", exception=ZeroDivisionError, passdesc='Pass, expected to have the ZeroDivisionError')

支持如下选项:

- timeout: 例如 timeout=30, 如果30秒内调用未返回则自动终止,并fail。

- repeat: 例如 repeat=20, 如果返回失败,则再次执行,直到成功或达到所设定的次数(本例中为20)。

- duration: 例如 duration=15, 设定此步骤执行时间15秒,若提前完成则剩余时间休眠。

- xfail: 例如 xfail=True, 预期失败,即失败则返回成功,成功则返回失败。

- warning: 例如 warning=True, 无论此步骤成功或失败,均返回成功,但如果失败,日志记录一个警告信息。

- skip: 例如 skip=True, 不运行此步骤,直接返回成功(用于一个暂时不运行的步骤)。

- exception: 例如 exception=NameError, 此步骤应有NameError异常,是则返回成功,否则返回失败。

- passdesc: 例如 passdesc="the string to log if passed" (如果成功,用passdec定义的串来记录日志,缺省是用调用串)。

- faildesc: 例如 faildesc="the string to log if failed" (如果失败,用faildec定义的串来记录日志,缺省是用调用串)。

高级应用,包括:

三步自定义判断函数,享用所有TestSteps特性。

为Check添加自定义选项。

Testbed 初始化方法(支持.py 和.yaml文件)。

日志格式和存储设置。

下载地址:https://github.com/steven004/TestSteps

注明

以上就是Python开发工具Pipenv、Zicada、pyecharts、TestSteps的介绍内容,这些Python开发工具都能使用在Linux操作系统中。

栏目相关文章