Best Python code snippet using yandex-tank
plugin.py
Source:plugin.py  
...138    def end_test(self, retcode):139        if self.process:140            gracefully_shutdown = self.__graceful_shutdown()141            if not gracefully_shutdown:142                self.__kill_jmeter()143        if self.process_stderr:144            self.process_stderr.close()145        self.core.add_artifact_file(self.jmeter_log)146        self.reader.close()147        return retcode148    def __discover_jmeter_udp_port(self):149        """Searching for line in jmeter.log such as150        Waiting for possible shutdown message on port 4445151        """152        r = re.compile(self.DISCOVER_PORT_PATTERN)153        with open(self.process_stderr.name, 'r') as f:154            cnt = 0155            while self.process.pid and cnt < 10:156                line = f.readline()157                m = r.match(line)158                if m is None:159                    cnt += 1160                    time.sleep(1)161                else:162                    port = int(m.group('port'))163                    return port164            else:165                logger.warning('JMeter UDP port wasn\'t discovered')166                return None167    def __kill_jmeter(self):168        logger.info(169            "Terminating jmeter process group with PID %s",170            self.process.pid)171        try:172            os.killpg(self.process.pid, signal.SIGTERM)173        except OSError as exc:174            logger.debug("Seems JMeter exited itself: %s", exc)175            # Utils.log_stdout_stderr(logger, self.process.stdout, self.process.stderr, "jmeter")176    def __add_jmeter_components(self, jmx, jtl, variables):177        """ Genius idea by Alexey Lavrenyuk """178        logger.debug("Original JMX: %s", os.path.realpath(jmx))179        with open(jmx, 'r') as src_jmx:180            source_lines = src_jmx.readlines()181        try:...Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!
