使用jenkins自动构建生成Allure报告
使用jenkins自动构建生成Allure报告这里我会记录常用的一种方法,还有一种其他的方法~~我这里的Jenkins 服务器和跑自动化代码的服务器 分开的,前者为Linux,后者为Windows。第一种方法:运行Jenkins上的 item 去远程执行 Windows上事先放置的bat文件,去执行自动化case,生成测试报告。前一篇博文说了jenkins ssh远程登陆Wi...
使用jenkins自动构建生成Allure报告
这里我会记录常用的一种方法,还有一种其他的方法~~
我这里的Jenkins 服务器和跑自动化代码的服务器 分开的,前者为Linux,后者为Windows。
第一种方法:
运行Jenkins上的 item 去远程执行 Windows上事先放置的bat文件,去执行自动化case,生成测试报告。
前一篇博文说了jenkins ssh远程登陆Windows系统的相关问题:https://blog.csdn.net/qq_41838901/article/details/101017980
先保证:测试jenkins服务器可以远程Windows后,如下配置Jenkins:
1、先要安装ssh插件
管理插件里面下载:
2、配置远程服务器信息
点击Manage Jenkins -> configure system,找到如下:
记得填完信息后,点击”Test Configuration“, 测试是否可以Success!
3、新建一个item
由于代码,已经bat文件均已经在Windows服务器上面了,那么只需要jenkins上去指定执行就好了。
(cmd /c call :在当前dos命令窗口中执行bat文件并在之后关闭窗口)
或者
均可。
4、build 执行
5、bat文件说明
c:
cd C:\Users\t_ful\PycharmProjects\test
del /f/s/q reports\allurehtml >nul
del /f/s/q reports\allurereport >nul
rmdir /s/q reports\allurehtml
rmdir /s/q reports\allurereport
pytest -s -q --alluredir ./reports/allurereport
allure generate ./reports/allurereport -o ./reports/allurehtml
exit
6、部分自动化测试用例说明
import os
import allure
import pytest
from common.Base import BasePage
from common.Drivers import Browser
from Page.loginPage import loginCase
from common.readExcel import IOExcel
#unittest.TestCase #TestCase类,所有测试用例继承的基本类
#unittest.TestSuite #TestSuite类,创建测试套件
filepath = os.path.abspath('.').split('test')[0] + 'test\\element\\testcase.xls'
re = IOExcel(filepath) # 获取测试用例数据
caseData = re.get_sheet('login') #获取***sheet页的数据
@allure.feature('登陆1')
class Test_login(object):
def setup_method(self):
driver = Browser().open_browser()
self.bpage = BasePage(driver)
self.lpage = loginCase(self.bpage)
def teardown_method(self):
self.bpage.close_browser()
# @allure.description('不使用多渠道登陆方式')
@allure.story('用户登陆成功,不使用多渠道方式登陆')
@allure.severity('blocker') # 设置用例重要级
def test_success01(self):
'''不使用多渠道方式登陆成功'''
hang = 2 #获取第**sheet页的第*行的数据,返回为list
with allure.step('获取测试数据表格中的第{}行数据'.format(hang)):
rowData = re.get_rowData(hang)
with allure.step('应用测试数据(账号:{0},密码:{1},渠道类型:{2}.)'
.format(rowData[4],rowData[5],rowData[6])):
self.lpage.login_page_quick(rowData[4],rowData[5],rowData[6])
self.bpage.delay(1)
try:
# assertEqual(bpage.get_title(),rowData[9],'测试用例通过')
title = self.bpage.get_title()
self.lpage.login_fail()
with allure.step('验证登陆结果,结果是否为:{} .'.format(title)):
assert title == rowData[9]
except Exception as e :
with allure.step('结果写入excel,写入:不通过 .'):
re.write_cell(hang,10,'不通过')
print(e)
else:
with allure.step('结果写入excel,写入:通过 .'):
re.write_cell(hang, 10, '通过')
@allure.story('用户登陆成功,使用多渠道方式登陆')
@allure.severity('blocker') # 设置用例重要级
def test_success_02(self):
'''使用多渠道方式登陆成功'''
hang = 3 #获取第**sheet页的第*行的数据,返回为list
with allure.step('获取测试数据表格中的第{}行数据'.format(hang)):
rowData = re.get_rowData(hang)
with allure.step('使用sip号登陆,应用测试数据(账号:{0},密码:{1},渠道类型:{2},sip号码:{3},sip类型:{4}.)'
.format(rowData[4],rowData[5],rowData[6],rowData[7],rowData[8])):
self.lpage.login_page(rowData[4],rowData[5],rowData[6],rowData[7],rowData[8])
self.bpage.delay(1)
try:
# assertEqual(bpage.get_title(),rowData[9],'测试用例通过')
with allure.step('验证登陆结果,结果是否为:{} .'.format(rowData[9])):
assert self.bpage.get_title() == rowData[9]
except Exception as e :
with allure.step('结果写入excel,写入:不通过 .'):
re.write_cell(hang,10,'不通过')
print(e)
else:
with allure.step('结果写入excel,写入:通过 .'):
re.write_cell(hang, 10, '通过')
更多推荐
所有评论(0)