【发布时间】:2021-07-20 10:14:12
【问题描述】:
我尝试使用 selenium python 运行测试用例并希望在每个测试用例上录制视频,但是当我尝试时输出总是损坏。 FFMPEG 进程正在运行,输出行上没有出现错误。我附上我的代码,请任何人帮助我有什么需要添加或删除的
这是第一个文件,用于记录器:
import subprocess
from subprocess import Popen
from subprocess import call
class recorderMethod():
videoRecording = None
@staticmethod
def recorder_start(res,name):
rec_lib = 'ffmpeg -y -rtbufsize 2000M -f dshow -i video="screen-capture-recorder" -s '
resolution = res
buffer = ' -b:v 512k -r 20 -vcodec libx264 '
filename = name
extension = '.mp4'
complete_command = rec_lib+resolution+buffer+filename+extension
recorderMethod.videoRecording = Popen(str(complete_command))
@staticmethod
def recorder_stop():
if recorderMethod.videoRecording.poll() is None:
call('taskkill /F /T /PID ' + str(recorderMethod.videoRecording.pid))
这是录制视频的主要测试文件
import unittest
import recorder_main
from selenium import webdriver
from time import sleep
class recordingTest(unittest.TestCase):
#init test
browser = webdriver.Chrome()
baseurl = 'http://www.facebook.com/'
record = recorder_main.recorderMethod
#setup
def setUp(self):
#declare to use browser
self.driver = recordingTest.browser
#make variable for easy access
driver = self.driver
#maximize Firefox
driver.maximize_window()
#go to maukerja
driver.get(recordingTest.baseurl)
#test001
def test_001_record(self):
#start recording
recordingTest.record.recorder_start('1920x1080','Test_Sleep')
sleep(10)
#stop_recording
recordingTest.record.recorder_stop()
#teardown
def test_999_ShutDownTest(self):
self.driver.close()
if __name__ == '__main__':
unittest.main(exit=False)
【问题讨论】:
-
您使用的是哪个版本的 Chrome 和 ChromeDriver?
-
edit 您的问题也可以包含您的操作系统版本,甚至可能是您使用的显卡。