1# -*- coding: utf-8 -*- 2from devicetest.api import Asserts 3from devicetest.log.logger import print_info 4 5from test_case import ITestCase 6 7 8class CrashCheck(ITestCase): 9 10 def __init__(self, controllers): 11 super().__init__(controllers) 12 13 def setup(self): 14 self.step('前置条件1:开始crash测试') 15 self.common_oh.remount(self.Phone1) 16 self.common_oh.wait(self.Phone1, 1) 17 18 def process(self): 19 self.step('步骤1:获取crash信息') 20 crashes = self.common_oh.shell(self.Phone1, 'cd /data/log/faultlog/temp && grep "Process name" -rnw ./') 21 print_info('crashes: {}'.format(crashes)) 22 self.common_oh.wait(self.Phone1, 1) 23 self.asserts.assert_not_in('foundation', crashes) 24 self.asserts.assert_not_in('render_service', crashes) 25 self.asserts.assert_not_in('appspawn', crashes) 26 27 def teardown(self): 28 self.step('收尾1:将crash文件压缩打包后回传到本地') 29 self.common_oh.shell(self.Phone1, 'cd /data/log/faultlog/temp && tar -cf crash_log.tar cppcrash*') 30 self.common_oh.pullFile(self.Phone1, '/data/log/faultlog/temp/crash_log.tar', self.local_save_path) 31