def kill():
     Log.info("Kill gradle processes.")
     if Settings.HOST_OS is OSType.WINDOWS:
         Process.kill(proc_name='java.exe', proc_cmdline='gradle')
     else:
         command = "ps -ef  | grep '.gradle/wrapper' | grep -v grep | awk '{ print $2 }' | xargs kill -9"
         run(cmd=command)
Example #2
0
    def tearDown(self):
        # pylint: disable=no-member

        # Kill processes
        Tns.kill()
        AppiumDriver.kill()
        Gradle.kill()
        Process.kill_all_in_context()
        TnsTest.restore_files()

        # Get outcome
        if hasattr(self, '_outcome'):  # Python 3.4+
            result = self.defaultTestResult()  # these 2 methods have no side effects
            self._feedErrorsToResult(result, self._outcome.errors)
        else:  # Python 3.2 - 3.3 or 3.0 - 3.1 and 2.7
            result = getattr(self, '_outcomeForDoCleanups', self._resultForDoCleanups)

        # Take screen on test fail
        if result.errors or result.failures:
            self.get_screenshots()
            self.archive_apps()
            outcome = 'FAILED'
        else:
            outcome = 'PASSED'
        Log.test_end(test_name=TestContext.TEST_NAME, outcome=outcome)
Example #3
0
 def stop():
     if Settings.HOST_OS == OSType.WINDOWS:
         Process.kill('Docker Desktop')
         Process.kill('Docker.Watchguard')
         Process.kill('com.docker.backend')
         Process.kill('com.docker.proxy')
     if OSUtils.is_catalina():
         Process.kill('Docker')
Example #4
0
 def tearDownClass(cls):
     """
     Logic executed after all core_tests in class.
     """
     Tns.kill()
     TnsTest.kill_emulators()
     Process.kill_all_in_context()
     Folder.clean(Settings.TEST_OUT_TEMP)
     Log.test_class_end(TestContext.CLASS_NAME)
Example #5
0
 def test_30_kill_by_port(self):
     port = 4210
     self.start_server(port=port)
     time.sleep(0.5)
     running = Process.is_running_by_commandline(commandline=self.http_module)
     assert running, 'Failed to start simple http server.'
     Process.kill_by_port(port=port)
     time.sleep(0.5)
     running = Process.is_running_by_commandline(commandline=self.http_module)
     assert not running, 'Kill by port failed to kill process.'
Example #6
0
 def setUpClass(cls):
     Folder.clean(Settings.TEST_OUT_HOME)
     Folder.create(Settings.TEST_OUT_LOGS)
     Folder.create(Settings.TEST_OUT_IMAGES)
     Folder.create(Settings.TEST_OUT_TEMP)
     Process.kill(proc_name="adb")
     TnsRunAndroidTest.setUpClass()
     url = "https://github.com/webdriverio/native-demo-app/releases/download/0.2.1/Android-NativeDemoApp-0.2.1.apk"
     cls.apk_path = os.path.join(Settings.TEST_RUN_HOME, "test.apk")
     File.delete(path=cls.apk_path)
     File.download(file_name='test.apk', url=url, destination_dir=Settings.TEST_RUN_HOME)
Example #7
0
 def get_log_file(device_id):
     command = 'spawn {0} log stream --level=debug'.format(device_id)
     Process.kill_by_commandline(command)
     log_file = Simctl.run_simctl_command(command=command, wait=False).log_file
     if File.exists(log_file):
         Log.debug('Log of {0} redirected to {1}'.format(device_id, log_file))
         return log_file
     else:
         message = 'Failed to get logs of {0}'.format(device_id)
         Log.error(message)
         raise Exception(message)
Example #8
0
 def test_20_run_long_living_process(self):
     file_path = os.path.join(Settings.TEST_OUT_HOME, 'temp.txt')
     File.write(path=file_path, text='test')
     result = run(cmd='tail -f ' + file_path, wait=False)
     time.sleep(1)
     Process.kill_pid(pid=result.pid)
     assert result.exit_code is None, 'exit code should be None when command is not complete.'
     assert result.complete is False, 'tail command should not exit.'
     assert result.duration is None, 'duration should be None in case process is not complete'
     assert result.output == '', 'output should be empty string.'
     assert result.log_file is not None, 'stdout and stderr of tail command should be redirected to file.'
     assert 'tail' in File.read(result.log_file), 'Log file should contains cmd of the command.'
     assert 'test' in File.read(result.log_file), 'Log file should contains output of the command.'
Example #9
0
 def start():
     if Settings.HOST_OS == OSType.WINDOWS:
         docker = os.environ.get("DOCKER_HOME")
         if not Process.is_running_by_name('Docker Desktop'):
             if docker is not None:
                 cmd = '"' + os.path.join(docker,
                                          'Docker Desktop.exe') + '"'
                 run(cmd=cmd, wait=False)
                 Log.info('Starting docker!')
             else:
                 cmd = r'"C:\Program Files\Docker\Docker\Docker Desktop.exe"'
                 run(cmd=cmd, wait=False)
                 Log.info('Starting docker!')
     elif OSUtils.is_catalina():
         if not Process.is_running_by_name('Docker'):
             cmd = 'open --background -a Docker'
             run(cmd=cmd, wait=False)
             Log.info('Starting docker!')
     else:
         Log.info('No need to start docker!')
Example #10
0
 def clean(folder):
     if Folder.exists(folder=folder):
         Log.debug("Clean folder: " + folder)
         try:
             shutil.rmtree(folder)
         except OSError as error:
             try:
                 for root, dirs, files in os.walk(folder, topdown=False):
                     for name in files:
                         filename = os.path.join(root, name)
                         if Settings.HOST_OS != OSType.WINDOWS:
                             os.chmod(filename, stat.S_IWUSR)
                         os.remove(filename)
                     for name in dirs:
                         os.rmdir(os.path.join(root, name))
                 os.rmdir(folder)
                 Log.error('Error: %s - %s.' % (error.filename, error.strerror))
             except Exception:
                 Log.info('Kill processes with handle to ' + folder)
                 Process.kill_by_handle(folder)
                 os.system('rm -rf {0}'.format(folder))
 def stop(sim_id='booted'):
     """
     Stop running simulators (by default stop all simulators)
     :param sim_id: Device identifier (Simulator ID)
     """
     if sim_id == 'booted':
         Log.info('Stop all running simulators.')
         Process.kill('Simulator')
         Process.kill('tail')
         Process.kill('launchd_sim')
         Process.kill_by_commandline('CoreSimulator')
     else:
         Log.info('Stop simulator with id ' + sim_id)
         run(cmd='xcrun simctl shutdown {0}'.format(sim_id), timeout=60)
    def tearDown(self):
        # pylint: disable=no-member

        # Kill processes
        Tns.kill()
        Gradle.kill()
        Process.kill_all_in_context()
        TnsTest.restore_files()
        # Analise test result
        if Settings.PYTHON_VERSION < 3:
            # noinspection PyUnresolvedReferences
            result = self._resultForDoCleanups
        else:
            # noinspection PyUnresolvedReferences
            result = self._outcome.result

        outcome = 'FAILED'
        if result.errors == [] and result.failures == []:
            outcome = 'PASSED'
        else:
            self.get_screenshots()
            self.archive_apps()
        Log.test_end(test_name=TestContext.TEST_NAME, outcome=outcome)
Example #13
0
 def kill():
     """
     Kill all tns related processes.
     """
     Log.info("Kill tns processes.")
     if Settings.HOST_OS == OSType.WINDOWS:
         Process.kill(proc_name='node')
     else:
         Process.kill(proc_name='node',
                      proc_cmdline=Settings.Executables.TNS)
         Process.kill_by_commandline(cmdline='webpack.js')
        def start(simulator_info):
            # Start iOS Simulator
            Log.info('Booting {0} ...'.format(simulator_info.name))
            simulator_info = Simctl.start(simulator_info=simulator_info)

            # Start GUI
            if Process.get_proc_by_commandline('Simulator.app') is not None:
                Log.debug('Simulator GUI is already running.')
            else:
                Log.info('Start simulator GUI.')
                run(cmd='open -a Simulator')

            # Return result
            device = Device(id=simulator_info.id, name=simulator_info.name, type=DeviceType.SIM,
                            version=simulator_info.sdk)
            TestContext.STARTED_DEVICES.append(device)
            return device
 def kill(self, force=Jenkins.is_ci()):
     """
     Kill Chrome browsers instance(s).
     :param force: If false it will kill only browsers started by driver.
     If true it will force kill all chrome processes.
     By default `force` is set to false on local machines and true on CI (when JENKINS_HOME variable is set).
     """
     if self.driver is not None:
         self.driver.quit()
     if force:
         if Settings.HOST_OS == OSType.OSX:
             Process.kill(proc_name='Google Chrome', proc_cmdline=None)
         else:
             Process.kill(proc_name="chrome", proc_cmdline=None)
         Process.kill(proc_name='chromedriver')
     Log.info('Kill Chrome browser!')
Example #16
0
 def tearDown(self):
     Process.kill_all_in_context()
        def stop():
            """
            Stop all running emulators.
            """
            Log.info('Stop all running emulators...')
            Process.kill_by_commandline('qemu')
            Process.kill_by_commandline('emulator64')

            Process.kill('emulator64-arm')
            Process.kill('emulator64-x86')
            Process.kill('emulator-arm')
            Process.kill('emulator-x86')
            Process.kill('qemu-system-arm')
            Process.kill('qemu-system-i386')
            Process.kill('qemu-system-i38')
Example #18
0
 def kill():
     """
     Kill ng cli processes.
     """
     Process.kill(proc_name='node', proc_cmdline=Settings.Executables.NG)
     Process.kill_by_port(DEFAULT_PORT)
Example #19
0
 def kill():
     """
     Kill all instance of appium server.
     """
     Process.kill(proc_name='node', proc_cmdline='appium')
Example #20
0
 def tearDownClass(cls):
     Process.kill(proc_name="adb")
     TnsRunAndroidTest.tearDownClass()
Example #21
0
 def stop():
     if OSUtils.is_catalina():
         Process.kill('Docker')
Example #22
0
 def restart():
     Log.info("Restart adb.")
     Adb.run_adb_command('kill-server')
     Process.kill(proc_name='adb')
     Adb.run_adb_command('start-server')