利用python编写不同环境下都能运行的测试脚本
利用bash来获取当前电脑的环境变量,可以写一个.sh文件,里面获取当前环境,然后在调用python文件执行
# -*- coding: utf-8 -*- import logging
import urllib
import sys
import json
import string
import os
import time
import getopt
import requests sys.path.append('../') from common.monitor_logging import *
from common.util import *
from common.nagios_status import *
from hongbao_api.baidu_api import *
from common.monitor_config import *
from common.monitor_testcase import *
from common.pinger import * def Usage():
print "exception" DEBUG_FLAG=True
ROOT_DIR='' def get_user_opt():
global DEBUG_FLAG, ROOT_DIR
if len(sys.argv) > 1:
try:
opts, args = getopt.getopt(sys.argv[1:], 'dr:h')
if len(opts) == 0:
return for opt, arg in opts:
if opt in ('-h', '--help'):
Usage()
sys.exit(3)
elif opt == '-d':
DEBUG_FLAG = True
elif opt == '-r':
ROOT_DIR = arg except getopt.GetoptError:
Usage()
sys.exit(-1) ''' '''
class ScoreAuctionDealsUrl():
def __init__(self, testcase_file):
self.config = MonitorConfig()
#获取需要解析的xml的testcase的name
self.testcase = MonitorTestcase(testcase_file)
#日志文件
self.logger = logging.getLogger('baidu') #打印返回值和退出
def print_result_and_exit(self, status, msg):
print msg
sys.exit(status)
#检查主机是否联网
def check_host_is_alive(self):
pinger = Pinger()
ret = pinger.check()
return ret #开始检测url
def test_all_category(self):
#if not self.check_host_is_alive():
# msg = 'Network is not availabe'
# return STATE_UNKNOWN, msg
testcase_name = 'baidu'
url=self.testcase.get_url(testcase_name)
self.logger.debug('testcase=%s' % testcase_name)
self.logger.info('url=%s' % url) #请求数据
deals=GetBaiduDeals(url)
#请求json获取返回的状态
status = deals.get_baidu()
print("status:%s"%status)
#一个个遍历:
json_data=deals.json_data
print(json_data) return STATE_WARNING, "aaaa" if status == 0:
msg0 = 'return status is 0'
return STATE_WARNING, msg0
elif status ==1:
msg1 = 'return status is 1'
return STATE_WARNING,msg1
elif status ==2:
msg2 = 'return status is 2'
return STATE_CRITICAL,msg2
else:
msg3='return status is 3'
return STATE_UNKNOWN,msg3 if __name__ == '__main__': #######################################################
get_user_opt()
print(DEBUG_FLAG)
print(ROOT_DIR)
#
if DEBUG_FLAG:
print 'DEBUG_FLAG is True'
log_console_flag = True
else:
print 'DEBUG_FLAG is False'
log_console_flag = False if ROOT_DIR:
log_file = ROOT_DIR + '/log/monitor_log.txt'
else:
log_file= os.getcwd() + '/../../log/monitor_log.txt'
log_level = logging.DEBUG
set_logging(log_file, log_level, log_console_flag) logger = logging.getLogger("hongbao")
print(logger)
#
########################################################
logger.info('start...')
testcase_file = '../../test/hongbao.xml'
print(testcase_file)
score_auction_deals_url = ScoreAuctionDealsUrl(testcase_file)
print(score_auction_deals_url)
status, msg = score_auction_deals_url.test_all_category()
print(status,msg)
#
status_str = get_status_str(status)
output_msg = '%s, %s' % (status_str, msg)
print output_msg
exit(status)
#!/bin/sh _DEBUG=false # input env
shell_dir=$(cd "$(dirname "$0")"; pwd)
source ${shell_dir}/set_env.sh _DEBUG ROOT_DIR="$(dirname ${shell_dir})"
_log "ROOR_DIR=${ROOT_DIR}" #LOG_FILE=${ROOT_DIR}/log/report.log
#_log "LOG FILE=${LOG_FILE}" cd ${ROOT_DIR}/src/hongbao python baidu_url.py -r ${ROOT_DIR} $*
exit $?
利用python编写不同环境下都能运行的测试脚本的更多相关文章
- Python 利用Python编写简单网络爬虫实例3
		
利用Python编写简单网络爬虫实例3 by:授客 QQ:1033553122 实验环境 python版本:3.3.5(2.7下报错 实验目的 获取目标网站“http://bbs.51testing. ...
 - Python 利用Python编写简单网络爬虫实例2
		
利用Python编写简单网络爬虫实例2 by:授客 QQ:1033553122 实验环境 python版本:3.3.5(2.7下报错 实验目的 获取目标网站“http://www.51testing. ...
 - 利用Python编写Windows恶意代码!自娱自乐!勿用于非法用途!
		
本文主要展示的是通过使用python和PyInstaller来构建恶意软件的一些poc. 利用Python编写Windows恶意代码!自娱自乐!勿用于非法用途!众所周知的,恶意软件如果影响到了他人的生 ...
 - linux环境下使用jmeter进行压力测试
		
linux环境下使用jmeter进行压力测试 linux环境下使用就meter进行压力测试: linux环境部署: 在Linux服务器先安装jdk: 2.以jdk-8u172-linux-x64.ta ...
 - Windows环境下Oracle数据库的自动备份脚本
		
批处理文件(.bat) @echo off echo ================================================ echo Windows环境下Oracle数据 ...
 - ubuntu16.04 ROS环境下配置和运行SVO
		
ubuntu16.04 ROS环境下配置和运行SVO https://blog.csdn.net/nnUyi/article/details/78005552
 - Windows环境下Oracle数据库的自动备份脚本自动删除30天前的备份
		
@echo off echo ================================================ echo Windows环境下Oracle数据库的自动备份脚本 echo ...
 - [Python学习] Linux环境下的Python配置,必备库的安装配置
		
1.默认Python安装情况 一般情况,Linux会预装Python的,版本较低,比如Ubuntu15的系统一般预装的是Python2.7.10. 使用命令:which python可以查看当前的py ...
 - 利用Python编写网络爬虫下载文章
		
#coding: utf-8 #title..href... str0='blabla<a title="<论电影的七个元素>——关于我对电影的一些看法以及<后会无期 ...
 
随机推荐
- how to get iframe dom in js
			
how to get iframe dom in js https://stackoverflow.com/questions/3999101/get-iframes-document-from-ja ...
 - how install svn client on MacOS
			
how install svn client on MacOS svn https://www.smartsvn.com/downloads/smartsvn/smartsvn-macosx-11_0 ...
 - php 关于文件的一些封装好的函数
			
<?php //Bytes/Kb/MB/GB/TB/EB /** * 转换字节大小 * @param number $size * @return number */ function tran ...
 - [BZOJ1559]密码 AC自动机+状压
			
问题 K: [JSOI2009]密码 时间限制: 1 Sec 内存限制: 64 MB 题目描述 众所周知,密码在信息领域起到了不可估量的作用.对于普通的登陆口令,唯一的破解 方法就是暴力破解一逐个尝 ...
 - Crawl(1)
			
爬贴吧小说. 爬取该链接中的楼主发言前10页另存为文本文件 python2.7 # *-* coding: UTF-8 *-* import urllib2 import re class BDTB: ...
 - 【刷题】BZOJ 1537 [POI2005]Aut- The Bus
			
Description Byte City 的街道形成了一个标准的棋盘网络 – 他们要么是北南走向要么就是西东走向. 北南走向的路口从 1 到 n编号, 西东走向的路从1 到 m编号. 每个路口用两个 ...
 - BZOJ4416 [Shoi2013]阶乘字符串  【序列自动机 + 状压dp】
			
题目链接 BZOJ4416 题解 建立序列自动机,即预处理数组\(nxt[i][j]\)表示\(i\)位置之后下一个\(j\)出现的位置 设\(f[i]\)表示合法字符集合为\(i\)的最短前缀,枚举 ...
 - python图片云
			
Python 小工具 把图片拼接成任意大小新图片 代码比较简单 看注释就好 # -*- coding:utf-8 -*- #图片拼接 import PIL.Image as Image import ...
 - bzoj 1208
			
1208: [HNOI2004]宠物收养所 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 9775 Solved: 3918[Submit][Sta ...
 - 开始 Dojo 开发
			
原文出处:Joe Lennon 从头开始学习 Dojo,第 1 部分 开始 Dojo 开发 Dojo Toolkit 简介 Dojo 于 2004 年创建,使开发 DHTML 和 JavaScript ...