Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Apakah aliran kerja automasi tugas berjadual baris arahan Python?

Apakah aliran kerja automasi tugas berjadual baris arahan Python?

王林
王林ke hadapan
2023-05-13 17:01:111622semak imbas

1. Senario penggunaan

Laksanakan skrip jmeter dengan kerap dan laksanakan arahan baris arahan pada selang masa melalui pemasa python.

2. Pustaka

os, datetime, threading

(1) Gunakan pemasa threading.Timer() untuk melaksanakan tugas berjadual

Timer方法 说明
Timer(interval, function, args=None, kwargs=None) 创建定时器
cancel() 取消定时器
start() 使用线程方式执行
join(self, timeout=None) 等待线程执行结束

pemasa Pemahaman yang paling asas ialah pemasa boleh memulakan berbilang tugas yang dijadualkan. Tugas pemasa ini dilaksanakan secara tidak segerak, jadi tiada masalah menunggu pelaksanaan berurutan.

3. Jalankan skrip

baris arahan pelaksanaan jmeter

nama skrip jmeter -n -t.jmx -l nama laporan skrip.jtl

Penerangan parameter:

  • n Mod bukan GUI, mod baris arahan (menunjukkan berjalan dalam mod bukan GUI)

  • -t Fail ujian, fail skrip ujian jmeter untuk dijalankan (biasanya menggunakan laluan mutlak)

  • -l Fail hasil, fail untuk merekodkan keputusan

  • - h Dapatkan maklumat bantuan jmeter

  • -r Pelaksanaan jauh, mulakan pelayan jauh (mulakan semua ejen jauh yang dikonfigurasikan oleh hos jauh dalam mod bukan gui)

  • -R Pelaksanaan jauh, (mulakan mesin yang ditentukan (IP:PORT) sebagai mesin proksi dalam mod bukan gui)

  • -e Jana laporan ujian selepas ujian disediakan

  • -o Menentukan folder tempat laporan ujian dijanakan folder mesti kosong/tidak wujud

  • -H hos proksi (tetapkan yang digunakan oleh hos proksi jmeter)

  • -P Port proksi (tetapkan port proksi yang digunakan oleh jmeter)

  • -X Keluar (ujian berakhir dalam mod bukan gui Keluar pada masa)

4 Skrip

import os
from datetime import datetime
from threading import Timer
# 定时任务
def task():
    now = datetime.now()
    ts = now.strftime("%Y-%m-%d %H:%M:%S")
    print(datetime.now())
    a = os.system("jmeter -n -t /Users/liyinchi/workspace/功能测试/好慷/测试数据(压测脚本)/阶梯拼团多维表格20230418.jmx -l /Users/liyinchi/workspace/功能测试/好慷/测试数据(压测脚本)/阶梯拼团多维表格20230418-result.jtl")
    print(a)
# 执行器
def func():
    task()
    t = Timer(60*1, func)
    t.start()
func()

hasil pelaksanaan:

<. .>Apakah aliran kerja automasi tugas berjadual baris arahan Python?Jadual modul penjadualan

Jadual modul penjadualan

Rangka kerja APScheduler

Saderi sistem pemesejan teragih melaksanakan tugas yang dijadualkan

Gunakan tugas yang dijadualkan yang disertakan dengan windows

6. Empat kaedah Menggunakan python untuk memanggil baris arahan

(1) os.system

import os
a=os.system("ls")
a

akan memaparkan output semasa menjalankan program nilai pulangan a ialah kod keluar program

(2) os.popen

import os
a=os.popen("ls")
a.readline()

Nilai pulangan ialah fail fail,

file.readlines() ialah nilai pulangan daripada arahan

(3) subproses

boleh digunakan dalam atur cara python Cipta subproses,

subprocess.call()

import subprocess
 subprocess.call([&#39;ls&#39;,&#39;-l&#39; ])

di mana, ' ls’ sepadan dengan arahan yang dimasukkan pada baris arahan dan -l ialah operasi yang sepadan. Mengembalikan kod keluar program, serupa dengan os.system

subprocess.check_output(&#39;ls&#39;)

Mengembalikan output standard, serupa dengan os.popen.

Anda juga boleh memanggil objek Popen untuk melakukan operasi. subproses

import subprocess
child = subprocess.Popen(&#39;ping -c4 blog.linuxeye.com&#39;,shell=True)

Pada ketika ini, berbilang arahan boleh digunakan untuk mengawal subproses. Anda juga boleh menggunakan subprocess.PIPE untuk menyambungkan input dan output proses sendiri...

(4) arahan

import commands
 commands.getoutput(&#39;ls&#39;)

kembali ke output program

Atas ialah kandungan terperinci Apakah aliran kerja automasi tugas berjadual baris arahan Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam