1  ZTF简介
2  ZTF主要功能
3  ZTF两种脚本类型
4  如何获得支持
5. 快速入门
5.1  安装客户端
5.2  安装命令行
5.3  禅道设置
5.4  旧版禅道兼容
5.5  Windows编码和语言设置
5.6  常用命令
5.7  使用示例
5.8  如何方便地在任意目录中执行ztf命令?
6. 用户指南
6.1. ZTF脚本描述
6.1.1  简单脚本
6.1.2  分组步骤
6.1.3  多行期待结果
6.1.4  跳过执行
6.2. ZTF期待结果
6.2.1  独立文件
6.2.2  正则表达式
6.2.3  格式化符号
6.2.4  特有语法
6.3. ZTF客户端使用
6.3.1  页面功能介绍
6.3.2  配置运行环境
6.3.3  添加禅道站点
6.3.4  添加工作目录
6.3.5  执行脚本或单元测试
6.3.6  测试结果和重新执行用例
6.3.7  脚本与禅道互通
6.3.8  复制、粘贴、删除、重命名、在文件管理器或命令行打开
6.3.9  使用远程服务器
6.3.10  使用远程代理节点
6.4  脚本中穿插编写测试步骤和期待结果
6.5  ZTF参数设置
6.6  禅道用例同步
6.7  执行测试脚本
6.8  测试结果提交
6.9  其他命令
6.10  用例信息查看
6.11. 主流自动化脚本语言支持
6.11.1  Bat
6.11.2  JavaScript
6.11.3  Lua
6.11.4  Perl
6.11.5  PHP
6.11.6  Python
6.11.7  Ruby
6.11.8  Shell
6.11.9  Tcl
6.12. 自动化测试工具支持
6.12.1  AutoIT
6.12.2  Selenium
6.12.3  Appium
6.12.4  RobotFramework
6.12.5  Cypress
6.12.6  Playwright
6.12.7  Puppeteer
6.13. 单元测试框架支持
6.13.1  JUnit
6.13.2  TestNG
6.13.3  PHPUnit
6.13.4  PyTest
6.13.5  Jest
6.13.6  GTest
6.13.7  QTest
6.13.8  CppUnit
6.13.9  GoTest
6.13.10  Allure
6.14. Jenkins集成
6.14.1  Jenkins任务中使用ZTF
6.15. 代理服务
6.15.1  使用代理执行测试
6.15.2  心跳请求
6.15.3. 服务接口
6.15.3.1  新建测试任务
6.15.3.2  列出测试任务
6.15.3.3  列出测试历史
6.15.3.4  下载测试结果
6.15.3.5  修改ZTF配置
7. 开发指南
7.1  编译打包
7.2  命令行开发
7.3  服务端开发
7.4  前端开发
7.5  客户端开发

PyTest

2020-04-14 17:15:56
Aaron Chen
8465
最后编辑:周悦秋 于 2024-01-24 17:25:03
分享链接

我们准备了一个演示项目,请从 https://gitee.com/wwccss/ci_test_pytest 获取。

在发行包的demo/unit/ allure下,也提供了一个Allure和Pytest结合使用的例子,供大家参考。


请预先做好以下配置,此处以Windows下为例。

  1. 安装Python3, 解压安装的请确认可执行文件在 PATH环境变量中(在任意目录执行python --version成功);
  2. 使用命令pip install -U pytest安装PyTest;
  3. 执行 pytest --version确认PyTest安装成功

执行过程:

  1. CD进入PyTest项目的根目录;
  2. 执行 ztf.exe pytest -p 1  -t smoke_test pytest --junitxml=testresults.xml,其中-p为禅道中的产品ID,-t参数为新建测试单的名称;
  3. 按照提示输入项目配置信息;
  4. 测试执行完成,ZTF自动提交测试结果到禅道中指定的产品;
  5. 打开禅道 测试->单元测试菜单,查看测试结果;
  6. 新版禅道:1. 在 测试->套件页面查看结果;2. 在 测试->用例页面中的“所有类型”下拉菜单中,选择“单元测试”过滤。
评论列表
pdq 2022-12-08 10:27:11
# -*- coding: UTF-8 -*-
'''
title=成功登录
cid=192
pid=1
1. 输入正确的账号 >> 输入成功
2. 输入正确的密码 >> 输入成功
3. 输入正确的验证码 >> 输入成功
4. 点击登录 >> 成功登录进入首页
'''
import os
import sys
from selenium import webdriver
import pytest

from pages.dashBoard.dashboard_page import DashBoardPage
from pages.login.login_page import LoginPage
from common import log_util
from common.yaml_util import yaml_read

"""
@Project : ATS_SW
@File : test_login.py
@Author : peng
@Date : 2022/8/25 16:19
@Desc :
"""

BASE_DIR = os.path.dirname(os.path.dirname(os.path.dirname(__file__)))
sys.path.append(BASE_DIR)
current_dir = os.path.dirname(os.path.abspath(__file__))


class TestLogin:
"""
1、setup_module和teardown_module在整个测试用例所在的文件中所有的方法运行前和运行后运行,只会运行一次;
2、setup_class和teardown_class则在整个文件中的一次class中所有用例的前后运行;
3、setup_method和teardown_method在class内的每个方法运行前后运行;
4、setup_function和teardown_function则是在非class下属的每个测试方法的前后运行;
"""

def setup_method(self):
"""函数用例前置方法执行"""
log_util.logTest.buildStartLine("开始执行")
self.driver = webdriver.Chrome()
self.login = LoginPage(self.driver)
self.db_p1 = DashBoardPage(self.driver)

def teardown_method(self):
"""函数用例后置方法执行"""
# 关闭浏览器
self.driver.quit()
log_util.logTest.buildEndLine("执行结束")

# 用相对路径,ZTF读取不到
@pytest.mark.parametrize('args', yaml_read(current_dir + "/../../data/data_login_page/data_user.yaml"))
def test_01(self, args):
self.login.login(args['username'], args['password'])
log_util.logger.info("点击登陆 用户名:" + args['username'] + " 密码:" + args['password'])
assert self.login.alert_text() == args['msg']
if self.login.alert_text() == "":
# 退出账户
self.db_p1.exit_account()


if __name__ == '__main__':
pytest.main(['-vs', "test_login.py"])
panda 2022-11-21 14:07:47
收集了116条用例 可是ztf只执行了9条 这个是有什么配置吗
陈琦 2022-11-24 10:05:53
是不是Windows下有些脚本没有配置执行器?
lfl 2022-09-28 11:14:57
演示项目中的test_case.py没有看到和禅道用例关联的cid,请问脚本和用例是怎么关联的呢
陈琦 2022-10-20 08:23:53
单元测试脚本不用和禅道用例关联,只有ztf自管理的脚本会通过注释中的cid关联。
pdq 2022-12-07 16:54:54
在py文件中执行了,提交测试结果,但是没有识别注释中正确的cid和pid,貌似注释没有起到作用,怎么执行结果关联用例呢?
陈琦 2022-12-08 08:42:56
请将脚本贴过来看下
pdq 2022-12-08 10:33:10
脚本已经贴上来了,麻烦看下,谢谢~
陈琦 2022-12-15 15:10:16
脚本看上去是对的,是没有执行还是执行了提交结果没有记录?
加ZTF客服群聊吧。
123 2022-08-01 15:40:36
有没有更为详细的操作过程,pytest项目下没有ftp.exe这个文件,会提示”不是内部或外部命令,也不是可运行的程序“。
陈琦 2022-08-30 09:34:58
请先在不使用ZTF的情况下,保证PyTest脚本是可以正常运行的。
你那里出现的问题应该是和路径有关,试试在Python脚本中使用ftp.exe的绝对路径,或将ftp.exe加入系统环境变量PATH中。
fer 2021-10-17 09:16:53
我执行了,只生成了结果,但是没有报告和自动提交bug的功能,求解
1/1
发表评论
评论通过审核后显示。