jenkins设置执行时间_Jenkins+Airtest 实现定时执行自动化脚本

前言

通过Jenkins实现自动化脚本的持续集成。

该文以版署服的登陆检查为例子。

一、环境准备

1.安装airtest所需要的python库、python环境、adb等airtest运行所需的环境。

具体参考官方资料:使用本地python环境运行脚本

安装OK!

2.安装jenkins

不会的百度下~~安装OK!

二、Jenkins配置

1.jenkins基础配置

百度百度百度

2.安装jenkins插件:HTML Publisher

不会的百度一下,安装OK!

注意测试报告的CSS样式问题。

处理方法:

在jenkins系统管理中输入以下脚本运行:

ystem.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")

参考链接:传送门

3.准备airtest自动化脚本

直接图像识别的air后缀脚本:Login_check.air

4.配置构建的定时调度任务

新建构建任务

配置构建步骤

配置shell执行的RunGameLogInCheck.py脚本

#!/usr/bin/env python

# -*- coding: utf-8 -*-

# @Time : 2019/7/24 10:02

# @Author : 孤心修剑

# @Site :

# @File : RunGameLogInCheck.py

# @Software: PyCharm

import subprocess

from airtest.core.api import *

import argparse

parser = argparse.ArgumentParser()

# parser.add_argument('-d', "--Device_Code", help="请输入设备码")

parser.add_argument('-r', "--Recording", help="需要录像请输入True")

args = parser.parse_args()

#自动化脚本存放的路径

scriptPath = r"/opt/svnClientPro/project/AirtestCase/Case_Common/Login_check.air"

# 报告保存存放的路径

reportPath = r"/var/lib/jenkins/workspace/版署包每日检查/log"

# 固定6acefc26这台手机

cmd_run = r"airtest run "+ scriptPath + r" --device Android:///6acefc26" + r" --log "+reportPath

cmd_report = r"airtest report " + scriptPath + " --log_root " + reportPath +\

" --export /var/lib/jenkins/workspace/版署包每日检查/HTML"

if args.Recording == "True":

cmd_run = cmd_run + " --recording"

ret = subprocess.call(cmd_run, shell=True)

print("ret:%s" % str(ret))

report = subprocess.call(cmd_report,shell=True)

print("report:%s" % str(report))

配置构建后的报告

关于HTML Publisher的配置请百度。

注意路径,我的自己创建了HTML文件夹,而且必须放在Jenkins的工作空间内。

配置构建后的邮件发送

百度一下进行配置即可

配置定时执行自动化脚本

百度一下更多的定时时间格式即可。

5.看一下实现后的效果

通过添加的报告查看保存的airtest报告

通过控制台输出查看airtest的执行日志

三、扩展 平台

直接使用官方的多设备并行运行Airtest测试项目multi-device-runner,需稍做修改。

+Jenkins+SVN+linux服务器+atx/stf可以实现比较简单的自动化持续集成。

你可能感兴趣的:(jenkins设置执行时间)