Best Python code snippet using stestr_python
terminal.py
Source:terminal.py  
...29        scroll.setFixedSize(487,300)30        # self.layout = QVBoxLayout()31        # self.layout.addWidget(self.terminal)32        # parentHLayout.addLayout(self.layout)33        self._start_process(34            'xterm',35            ['-into', str(scroll.winId()),36             '-e', 'tmux', 'new-session', '-s', '{0}'.format(self.uuid),'-x','50','-y','50']37        )38    def _start_process(self, prog, args):39        child = QProcess()40        self._processes.append(child)41        child.start(prog, args)42        # self.child.terminate()43        # self.child.waitForFinished()44    def _list_files(self):45        self._start_process(46            'tmux', ['send-keys', '-t', '{0}:0'.format(self.uuid), 'ls', 'Enter'])47    def _terminate_tmux(self):48        # self._start_process(49        #     'tmux', ['send-keys', '-t', '%s:0'%self.uuid, 'exit', 'Enter'])50        for process in self._processes:51            process.terminate()52    def _resize_tmux(self):53        self._start_process(54            'tmux', ['send-keys', '-t', '%s:0'%self.uuid, 'resize-pane -t 0 -R 500', 'Enter'])55    def _switch_to_root(self, password= ROOT_PASSWORD):56        self._start_process(57            'tmux', ['send-keys', '-t', '%s:0'%self.uuid,"sudo su", 'Enter'])58        time.sleep(0.5)59        self._start_process(60            'tmux', ['send-keys', '-t', '%s:0'%self.uuid, str(password) , 'Enter'])61    def runCommand(self,command, password_prompt_req_flag=False):62        if password_prompt_req_flag: # if expecting sudo in command and already not a sudoer63            self._start_process(64                'tmux', ['send-keys', '-t', '%s:0'%self.uuid, '%s'%command, 'Enter'])65            time.sleep(1)66            self._start_process(67                'tmux', ['send-keys', '-t', '%s:0'%self.uuid, str(ROOT_PASSWORD) , 'Enter'])68        else:69            self._start_process(70                'tmux', ['send-keys', '-t', '%s:0'%self.uuid, '%s'%command, 'Enter'])71        self._start_process(72                'tmux', ['capture-pane', '-t', '%s:0'%self.uuid])73        #stdout, stderr = process.communicate()74        # tmux capture-pane -pS -3276875        #print Popen(['tmux', 'capture-pane','-pS','-32768'], stdout=PIPE).communicate()[1]76        # tmux help, See link below77        # http://unix.stackexchange.com/questions/125647/get-tmux-scroll-buffer-contents78        QtCore.QTimer.singleShot(3000, lambda: self._callback_tmux())79    def _callback_tmux(self):80        stderr = _sudo_exec("tmux capture-pane -pS -32768 -t {0}".format(self.uuid), ROOT_PASSWORD)81        msg =""82        try:83            idx = stderr.rindex("SUMMARY")84            msg = stderr[idx-5:-65]85        except:...process.py
Source:process.py  
...10        self._hook_before_exploit = None11        self._process = None12        self._byarg = False13        context.log_level = "error"14    def _start_process(self, cmd=""):15        raise NotImplementedError("")16    def send(self, cmd=""):17        if self._byarg:18            self._start_process(cmd)19        else:20            self._process.send(cmd)21        return self22    def recv(self, number=4096):23        context.log_level = "error"24        if self._process is not None:25            res = self._process.recv(number)26            if self._byarg:27                self._process.shutdown("recv")28                self._process.shutdown("send")29                self._process.close()30            context.log_level = self._verbosity31            return res32        else:33            context.log_level = self._verbosity34            return ""35    def reconnect(self):36        context.log_level = "error"37        if self._hook_before_begin is not None:38            self._hook_before_begin(self)39        return self40    def hook_before_begin(self, hook):41        self._hook_before_begin = hook42        hook(self)43        return self44    def hook_before_exploit(self, hook=None, register=False):45        if register is False:46            self._hook_before_exploit(self)47        else:48            self._hook_before_exploit = hook49        return self50    def interactive(self):51        self._process.interactive()52class SshProcess(Process):53    def __init__(self, host, port, user, password, target,54                 cmd="", byarg=False, verbosity='info'):55        Process.__init__(self, verbosity)56        context.log_level = "error"57        self._ssh = ssh(user, host, port, password)58        self._target = target59        if cmd != "":60            self._cmd = cmd.split(" ")61        else:62            self._cmd = []63        self._byarg = byarg64        if self._byarg is False:65            self._start_process()66    def _start_process(self, cmd=""):67        argv = [self._target]68        argv += self._cmd69        argv.append(cmd)70        self._process = self._ssh.process(argv)71        if self._hook_before_begin is not None:72            self._hook_before_begin(self)73        return self74class LocalProcess(Process):75    def __init__(self, target, cmd="", byarg=False, verbosity='info'):76        Process.__init__(self, verbosity)77        self._target = target78        self._process = None79        if cmd != "":80            self._cmd = cmd.split(" ")81        else:82            self._cmd = []83        self._byarg = byarg84        if self._byarg:85            self._start_process()86        self._verbosity = verbosity87        self._hook_before_begin = None88        self._hook_before_exploit = None89    def _start_process(self, cmd=""):90        argv = [self._target]91        argv += self._cmd92        argv.append(cmd)93        self._process = process(argv)94        if self._hook_before_begin is not None:95            self._hook_before_begin(self)96        return self97class RemoteProcess(Process):98    def __init__(self, host, port, verbosity='info'):99        Process.__init__(self, verbosity)100        self._host = host101        self._port = port102        self._process = None103        self._verbosity = verbosity104        self._start_process()105        self._hook_before_begin = None106        self._hook_before_exploit = None107    def _start_process(self, cmd=""):108        self._process = remote(self._host, self._port)109        context.log_level = self._verbosity110        return self111    def send(self, cmd=""):112        self._process.send(cmd)113        return self114    def reconnect(self):115        context.log_level = "error"116        self._start_process()117        if self._hook_before_begin is not None:118            self._hook_before_begin(self)119        context.log_level = self._verbosity...terminal01.py
Source:terminal01.py  
...16        self.resize(600, 600)17        layout= QVBoxLayout(self)18        self.terminal1 = QWidget(self)19        layout.addWidget(self.terminal1)20        self._start_process(21            #'xterm',22            #['-into', str(self.terminal1.winId()),23            'urxvt',24            ['-embed', str(self.terminal1.winId()),25             '-e', 'tmux', 'new', '-s', self.pid+'-session1'])26        self.terminal2 = QWidget(self)27        layout.addWidget(self.terminal2)28        self._start_process(29            #'xterm',30            #['-into', str(self.terminal2.winId()),31            'urxvt',32            ['-embed', str(self.terminal2.winId()),33             '-e', 'tmux', 'new', '-s', self.pid+'-session2'])34        button = QPushButton('List files')35        layout.addWidget(button)36        button.clicked.connect(self._list_files)37        button2 = QPushButton('Exit')38        layout.addWidget(button2)39        button2.clicked.connect(self._exit)40    #def __del__(self):41        #self._start_process(42            #'tmux', ['send-keys', '-t', 'session1:0', 'exit', 'Enter'])43    def _start_process(self, prog, args):44        child = QProcess()45        self._processes.append(child)46        child.start(prog, args)47    def _list_files(self):48        self._start_process(49            'tmux', ['send-keys', '-t', self.pid+'-session1:0', 'ls', 'Enter'])50        self._start_process(51            'tmux', ['send-keys', '-t', self.pid+'-session2:0', 'ls /', 'Enter'])52    def _exit(self):53        self._start_process(54            'tmux', ['send-keys', '-t', self.pid+'-session1:0', 'exit', 'Enter'])55        self._start_process(56            'tmux', ['send-keys', '-t', self.pid+'-session2:0', 'exit', 'Enter'])57if __name__ == "__main__":58    app = QApplication(sys.argv)59    main = embeddedTerminal()60    main.show()...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!!
