#!/usr/bin/python3 # -*- coding:utf-8 -*- import paramiko import time ssh = paramiko.SSHClient() key = paramiko.AutoAddPolicy() ssh.set_missing_host_key_policy(key) def execute(addr): ssh.connect(addr, 22, ', timeout=200) ssh_shell = ssh.invoke_shell…
烦透了jmeter输入如下鬼命令: Jmeter -n -t {tmpjmxfile} -l {csvfilename} -e -o {htmlreportpath} 尤其是{htmlreportpath}这个文件夹路径,没有这个文件夹又不会自动创建,有的话又必须为空.经常要给文件夹.文件命名,而且命名又没什么规范,乱七八糟的. 于是想着,即便是用python帮我创建文件夹,帮我生成命令,也是好的. 精益求精,做着做着,就会想着,干脆把命令也给执行了,于是就有这样的产出.使用场景: 1.需要不断…
思考:当存在多个脚本,每个脚本中有多条测试用例时,我们该如何批量执行呢?分析:首先创建2个测试用例脚本(.py文件),每个脚本有2条测试用例,然后批量执行全部测试用例 #Test_01.py # coding=utf-8 ''' Created on 2019-1-3 @author: 丹姐 Project:测试项目1 ''' import unittest class Test01(unittest.TestCase): @classmethod def setUpClass(cls,driv…
因为老板一个电话,我的国庆节就没了....,老板要我写个东西,能批量执行500台windows的命令并返回结果,虽然完成以后是非常的简单,但是因为我走了很多弯路,一开始想用powershell来写,后来又改成VBS的,最后还是用了最简单的CMD的命令的来完成,代码如下: @echo off set user=test for /f "tokens=1,2" %%i in (iplist.txt) do (           echo -------%date%--%time%----…
出现场景:用discover方法批量执行py文件,出现随机性的报错(有时a.py报错,有时b.py报错...),共同特点:均是打开新窗口后,切换最新窗口,但定位不到新窗口的元素,超时报错.由于个人项目遇到的是跑一条用例都有1~3个窗口,所以本文针对1~3个窗口的切换随机报错进行处理. 发现错误原因: 我在切换窗口代码的位置,打印当前句柄信息(print(self.driver.window_handles)),如下图 由于经常习惯性认为,新窗口在句柄列表应该是最后一个,即经常用这句代码来切换到我…
一.生成报告 1.先执行一个用例,并生成该用例的报告 # -*- coding: utf-8 -*- from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.common.keys import Keys from selenium.webdriver.support.ui import Select from selenium.common.except…
在Python中有一个模块commands也很容易做到以上的效果.看一下三个函数:1). commands.getstatusoutput(cmd)用os.popen()执行命令cmd, 然后返回两个元素的元组(status, result),其中 status为int类型,result为string类型.cmd执行的方式是{ cmd ; } 2>&1, 这样返回结果里面就会包含标准输出和标准错误. 2). commands.getoutput(cmd)只返回执行的结果, 忽略返回值. 3)…
#!/usr/bin/env python#-*- coding:utf-8 -*- from multiprocessing import Process,Poolimport time,paramiko,sys,oshost_list = ( ('16.74.185.167','root','123456','df -Th'), ('139.128.34.22','root','123456','df -Th')) s = paramiko.SSHClient() #绑定实例s.load_s…
MySQLdb提供了两个执行语句的方法,一个是execute(),另一个是executemany() execute(sql) 可接受一条语句从而执行 executemany(templet,args) 能同时执行多条语句,执行同样多的语句可比execute()快很多,强烈建议执行多条语句时使用executemany templet : sql模板字符串, 例如     'insert into table(id,name) values(%s,%s)' args: 模板字符串的参数,是一个列表…
批量管理程序必备模块 optparse configparser paramiko optparse模块 简介:        optparse模块主要用来为脚本传递命令参数功能 使用步骤: 1. import optparse 2. parser = optparse.OptionParser() 3. parser.add_option() 4. options, args = parser.parse_args(command) # command 为 list 类型 方法add_opti…