最近在学习使用pycharm+python编程语言生成精美的allure报告,也是花了不少时间,下面是我记录了一些比较实用的用法~让我们开始吧
第一步:在pycharm上面安装allure,有以下2种方法
这里要注意:一定要安装allure-pytest,其他的都不行哦,这里我直接跳进坑里过....
- 使用pip标准库在pycharm中的terminal使用命令安装:? pip3 install allure-pytest
- 使用界面的方式去一步一步的安装
- windows-打开你的setting-然后在弹出来的界面中找到你创建的当前项目-python interpreter 中点击 + 号 去输入 :allure-pytest? 然后点击下面的点击install packages 就可以了
- mac-preferences-在打开的界面找到你创建的项目-python interpreter中 点击 + 号 去输入:allure-pytest 然后点击下面的 install packages 就可以了
第二步:安装好了后,就可以在terminal终端中使用命令去生存报告了
- 首先使用cd命令进入到你要执行的测试文件所在的目录
- 然后使用:pytest -vs allure_demo.py --alluredir=./result5 去执行测试文件并生成测试报告,执行完成你就会发现你左边当前目录下多了一个 result5的文件夹,打开就可以看到已经执行的测试文件,这里展示出来的格式是以json格式展示出来的
图1
????????3.然后在使用命令:allure serve ./result5 将刚刚生成的result5的 json文件解析生成一个服务,浏览器这个时候就会生成一个服务,打开就可以看到生成的测试报告了
图2,输入如下命令,就会在pycharm的左边当前文件夹自动生成一个result5
?图3
图3,本地生成了一个服务,如下
图4,生成的allure结果展示
?第三步,上面两步,已经告知大家如何生成一个简单的allure报告
下面我们如何去给你的测试文件乃至测试用例添加一个测试步骤,如何去添加一个测试的链接,比如,在测试用例失败的时候,需要添加一个测试链接,以及如何去添加一个测试的图片,视频,代码如下:
import allure
@allure.feature("登录功能")
class TestLogin():
@allure.title("测试请输入用户名")
@allure.story("测试请输入用户名")
def test_case1(self):
allure.attach.file("/Users/chenzilong/PycharmProjects/dangerous_chen/practice_allure/resource/IMG_2784.JPG",
name="需要查看的图片",attachment_type=allure.attachment_type.JPG)
with allure.step("打印"):
print("这是登录:测试用例,请输入用户名")
with allure.step("打开网页"):
print("测试步骤,打开网页")
with allure.step("访问官网"):
print("测试步骤,访问官网")
@allure.title("测试密码错误")
@allure.story("测试密码错误")
def test_case2(self):
allure.attach.file("/Users/chenzilong/PycharmProjects/dangerous_chen/practice_allure/resource/IMG_2784.JPG",
name="需要查看的图片",attachment_type=allure.attachment_type.JPG)
with allure.step("打印"):
print("这是登录:测试用例,密码错误")
with allure.step("做断言"):
assert True
@allure.title("测试登录异常")
@allure.story("测试登录异常")
def test_case3(self):
allure.attach.file("/Users/chenzilong/PycharmProjects/dangerous_chen/practice_allure/resource/IMG_2784.JPG",
name="需要查看的图片",attachment_type=allure.attachment_type.JPG)
with allure.step("打印"):
print("这是登录:测试用例,登录异常")
with allure.step("做断言"):
assert True
@allure.title("测试断网的情况")
@allure.story("测试断网的情况")
def test_case4(self):
allure.attach.file("/Users/chenzilong/PycharmProjects/dangerous_chen/practice_allure/resource/1640934248541882.mp4",
name="手动测试的视频",attachment_type=allure.attachment_type.MP4)
allure.attach.file("/Users/chenzilong/PycharmProjects/dangerous_chen/practice_allure/resource/IMG_2784.JPG",
name="需要查看的图片",attachment_type=allure.attachment_type.JPG)
with allure.step("打印"):
print("这是登录:测试用例,断网去登录")
with allure.step("做断言"):
assert True
@allure.feature("搜索功能")
class TestSearch():
@allure.title("测试搜索失败")
@allure.story("测试搜索失败")
def test_case1(self):
allure.attach.file("/Users/chenzilong/PycharmProjects/dangerous_chen/practice_allure/resource/IMG_2784.JPG",
name="需要查看的图片",attachment_type=allure.attachment_type.JPG)
with allure.step("打印"):
print("这是搜索:搜索的测试用例,搜索失败")
with allure.step("做断言"):
assert True
@allure.title("测试断网的情况")
@allure.story("测试断网的情况")
def test_case2(self):
allure.attach.file("/Users/chenzilong/PycharmProjects/dangerous_chen/practice_allure/resource/IMG_2784.JPG",
name="需要查看的图片",attachment_type=allure.attachment_type.JPG)
with allure.step("打印"):
print("这是搜索:搜索的测试用例,断网去搜索")
with allure.step("做断言"):
assert True
TEST_CASE_LINK = "https://admin.xjkt.cn/hly/?aid=jjgb2kf54y69cbjyvq&app_id=18#/"
@allure.testcase(TEST_CASE_LINK,"测试功能点所对应的链接")
@allure.title("测试搜索")
@allure.story("测试搜索")
def test_case3(self):
allure.attach.file("/Users/chenzilong/PycharmProjects/dangerous_chen/practice_allure/resource/IMG_2784.JPG",
name="需要查看的图片",attachment_type=allure.attachment_type.JPG)
with allure.step("打开浏览器"):
print("测试步骤,第一步:先打开浏览器")
with allure.step("访问会了鸭"):
print("测试步骤,第二步:输入url,访问会了鸭")
with allure.step("输入搜索的内容"):
print("测试步骤,第三步:在搜索框内输入关键词")
with allure.step("点击搜索按钮"):
print("测试步骤,第四步:点击搜索按钮")
代码的解析:
@allure.title 指的是在你生成allure报告的时候用中文去展示你的测试用例名称,你的领导看了才知道这个测试用例是测试的那一块的功能
@allure.file 值得是去添加一个图片或者视频
@allure.feature、story、step
- feature 是在类上面添加的,一般指的是测试整个功能,例如:登录模块
- story 是放在测试方法上面的,一般指的是每个测试用例测试的那个小的功能,例如:测试用户名的输入
- step 是指你测试用例里面的每个步骤,例如:你要测试搜索,第一步:先打开浏览器,第二步:输入搜索词,第三步:点击搜索
@allure.testcase 指的是添加链接
第四步:如果你想要给你的其他同事或者公司领导看的话,你可以自己开启一个服务,然后把生成服务地址发给你的领导或者同事,但是这里需要注意:你和你周围的同事和领导必须要处在同一局域网内,就是连接同一个无线网路,否则打不开,看不了报告
- 你可以先将你的测试文件使用pytest去先生成一个测试报告到本地,然后如下命令,去转换成本地的一个report报告文件,在pycharm的terminal中去输入
- 其中 参数 -o 是指定生成的report报告文件
allure generate ./result5 -o report1
- ?然后在去使用open命令去开启服务
- -h? :后面跟你本地的ip地址
- -p : 后面跟你指定的端口,这里我指定的是8883 和你平时学习和工作不要冲突就行
- report1 : 后面跟你上面使用generare 命令指定生成的report,我这里指定的是report1
allure open -h 127.0.0.1 -p 8883 ./report1
如下:把链接发给你的同事和领导就可以了,嘿嘿
ps-->补充知识:
- 如果你想要查看pytest的使用方法,你可以在你的电脑终端里面使用命令查看,windows就是cmd,输入下面命令
pytest --help
-
如果你是mac就是用grep,如果你是windows就改成findstr去只看allure的使用帮助文档就可以了
pytest --help|grep allure
有问题欢迎在下方留言,互相学习,共同进步,fighting!
|