def test_shutdown_soft(self): obj = JMeterExecutor() log_recorder = RecordingHandler() obj.log.addHandler(log_recorder) obj.engine = EngineEmul() obj.execution = BetterDict() obj.execution.merge({"scenario": {"script": "tests/jmx/dummy.jmx"}}) try: obj.prepare() obj.startup() time.sleep(1) obj.shutdown() except: self.fail() finally: obj.log.removeHandler(log_recorder) self.assertIn("JMeter stopped on Shutdown command", log_recorder.debug_buff.getvalue())
def test_requests(self): obj = JMeterExecutor() obj.engine = EngineEmul() obj.engine.config = json.loads(open("tests/json/get-post.json").read()) obj.execution = obj.engine.config['execution'] obj.prepare() obj.log.debug("%s: %s", obj.modified_jmx, open(obj.modified_jmx).read()) obj.log.debug("%s", json.dumps(obj.execution, indent=True)) try: obj.startup() while not obj.check(): obj.log.debug("Check...") time.sleep(1) obj.shutdown() obj.post_process() except: pass finally: if obj.jmeter_log and os.path.exists(obj.jmeter_log): obj.log.debug("%s", open(obj.jmeter_log).read())