Пример #1
0
 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)
Пример #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)
Пример #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')
Пример #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)
Пример #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.'
Пример #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)
Пример #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)
Пример #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.'
Пример #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!')
Пример #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)
Пример #12
0
    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)
Пример #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
Пример #15
0
 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!')
Пример #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')
Пример #18
0
 def kill():
     """
     Kill ng cli processes.
     """
     Process.kill(proc_name='node', proc_cmdline=Settings.Executables.NG)
     Process.kill_by_port(DEFAULT_PORT)
Пример #19
0
 def kill():
     """
     Kill all instance of appium server.
     """
     Process.kill(proc_name='node', proc_cmdline='appium')
Пример #20
0
 def tearDownClass(cls):
     Process.kill(proc_name="adb")
     TnsRunAndroidTest.tearDownClass()
Пример #21
0
 def stop():
     if OSUtils.is_catalina():
         Process.kill('Docker')
Пример #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')