利用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编写不同环境下都能运行的测试脚本的更多相关文章

  1. Python 利用Python编写简单网络爬虫实例3

    利用Python编写简单网络爬虫实例3 by:授客 QQ:1033553122 实验环境 python版本:3.3.5(2.7下报错 实验目的 获取目标网站“http://bbs.51testing. ...

  2. Python 利用Python编写简单网络爬虫实例2

    利用Python编写简单网络爬虫实例2 by:授客 QQ:1033553122 实验环境 python版本:3.3.5(2.7下报错 实验目的 获取目标网站“http://www.51testing. ...

  3. 利用Python编写Windows恶意代码!自娱自乐!勿用于非法用途!

    本文主要展示的是通过使用python和PyInstaller来构建恶意软件的一些poc. 利用Python编写Windows恶意代码!自娱自乐!勿用于非法用途!众所周知的,恶意软件如果影响到了他人的生 ...

  4. linux环境下使用jmeter进行压力测试

    linux环境下使用jmeter进行压力测试 linux环境下使用就meter进行压力测试: linux环境部署: 在Linux服务器先安装jdk: 2.以jdk-8u172-linux-x64.ta ...

  5. Windows环境下Oracle数据库的自动备份脚本

    批处理文件(.bat) @echo off echo ================================================ echo  Windows环境下Oracle数据 ...

  6. ubuntu16.04 ROS环境下配置和运行SVO

    ubuntu16.04 ROS环境下配置和运行SVO https://blog.csdn.net/nnUyi/article/details/78005552

  7. Windows环境下Oracle数据库的自动备份脚本自动删除30天前的备份

    @echo off echo ================================================ echo Windows环境下Oracle数据库的自动备份脚本 echo ...

  8. [Python学习] Linux环境下的Python配置,必备库的安装配置

    1.默认Python安装情况 一般情况,Linux会预装Python的,版本较低,比如Ubuntu15的系统一般预装的是Python2.7.10. 使用命令:which python可以查看当前的py ...

  9. 利用Python编写网络爬虫下载文章

    #coding: utf-8 #title..href... str0='blabla<a title="<论电影的七个元素>——关于我对电影的一些看法以及<后会无期 ...

随机推荐

  1. UVAlive4287_Proving Equivalences

    题意是告诉你有n个命题,m条递推关系,表示某个命题可以推出另外一个命题. 现在问你至少在增加多少个递推关系可以保证所有命题两两互推. 命题为点,关系为有向边,题目转化成为至少增加多少条有向边使得整个图 ...

  2. BZOJ3462 DZY Loves Math II(动态规划+组合数学)

    容易发现这是一个有各种玄妙性质的完全背包计数. 对于每个质数,将其选取个数写成ax+b的形式,其中x=S/pi,0<b<x.那么可以枚举b的部分提供了多少贡献,多重背包计算,a的部分直接组 ...

  3. 【比赛】NOIP2017 时间复杂度

    恶心的模拟题,考场上犯了一堆错误,多组数据清空没清完.数组开小...民间都是50分,结果CCF90.. 考完后随便改改就过了,还好只少了10分,如果真的是50,我估计会疯掉. 因为考场的时候没写好,所 ...

  4. [AT2401] [arc072_e] Alice in linear land

    题目链接 AtCoder:https://arc072.contest.atcoder.jp/tasks/arc072_c 洛谷:https://www.luogu.org/problemnew/sh ...

  5. BZOJ 2738 子矩阵第k大 | 二维树状数组 整体二分 分治

    BZOJ 2738 "矩阵乘法"(子矩阵第k大) 题意 给出一个矩阵,多次询问子矩阵中第k大的数是多少. 题解 我做这道题之前先照着这道题出了一道题,是这道题的一维版本,在这里:h ...

  6. Longest Word in Dictionary through Deleting - LeetCode

    目录 题目链接 注意点 解法 小结 题目链接 Longest Word in Dictionary through Deleting - LeetCode 注意点 长度一样的字符串要按字典序返回较小的 ...

  7. 20135239 益西拉姆 linux内核分析 扒开系统调用的三层皮(下)

    一. 给MenuOS增加time-asm命令 代码解释 1.-rf:强制删除 2.clone :重新克隆 3.time-asm:显示系统时间的汇编形式 给MenuOS增加time和time-asm命令 ...

  8. HDU 5306 线段树

    吉司机课件题. 区间min,区间最值,区间和. 如果用最大值和次大值能更新区间和那就更新打标记,否则暴力dfs. #include<iostream> #include<cstdio ...

  9. [USACO10OPEN]牛跳房子Cow Hopscotch

    题目描述 奶牛们正在回味童年,玩一个类似跳格子的游戏,在这个游戏里,奶 牛们在草地上画了一行N个格子,(3 <=N <= 250,000),编号为1..N. 就像任何一个好游戏一样,这样的 ...

  10. centos详细安装redis步骤

    1. 从官网(http://redis.io)下载最新稳定版2. 使用命令解压下载的tar包:tar –zxvf redis-3.2.0.tar.gz3. 通过命令cd redis-3.2.0进入源码 ...