From 85d40f2b5b4cc3a9882b0c769a80dc905a414e37 Mon Sep 17 00:00:00 2001 From: asklie <760956257@qq.com> Date: Wed, 18 Dec 2024 17:24:57 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=BC=E5=AE=B9macos?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: asklie <760956257@qq.com> --- ohos/node_test_server/index.js | 107 ++++++++++++++++++--------------- 1 file changed, 57 insertions(+), 50 deletions(-) diff --git a/ohos/node_test_server/index.js b/ohos/node_test_server/index.js index b86f8723..06fc239a 100644 --- a/ohos/node_test_server/index.js +++ b/ohos/node_test_server/index.js @@ -18,80 +18,82 @@ const { exec } = require('child_process'); const fs = require('fs'); const path = require('path'); +const os = require('os'); + +// 获取操作系统名称 +const platform = os.platform(); + const FILE_URL = './logs'; const FILE_10000_URL = './logs_10000'; // 先创建下logs文件夹,避免没有报错 -createFolder(FILE_URL); const files = fs.readdirSync(FILE_URL); // 时间格式化,1、2、3、4变成01、02、03、04 function doubleStr(number) { return number < 10 ? '0' + number : number } -// main(); -// createXlsx(FILE_URL); -longTimeTest(); +main(); // 单次测试 async function main() { - await runCmd(`chcp 65001`); - console.log('更新代码'); - await runCmd(`for /f "delims=" %i in ('where flutter') do @cd /d "%~dpi" && git pull`); - // console.log('camera_test'); - // await runCmd(`cd ..\\automatic_camera_test && flutter test .\\integration_test\\camera_test.dart --machine > ..\\node_test_server\\${FILE_URL}\\camera_test.txt`); + createFolder(FILE_URL); + if (platform === 'win32') { + await runCmd(`chcp 65001`); + console.log('更新代码'); + await runCmd(`for /f "delims=" %i in ('where flutter') do @cd /d "%~dpi" && git pull`); + } + // 清理logs文件 + deleteAllFilesInFolder(FILE_URL); console.log('sqflite_test'); - await runCmd(`cd ..\\automated_testing_demo && flutter test .\\integration_test\\sqflite_test.dart --machine > ..\\node_test_server\\${FILE_URL}\\sqflite_test.txt`); + await runCmd(`cd ../automated_testing_demo && flutter test ./integration_test/sqflite_test.dart --machine > ../node_test_server/${FILE_URL}/sqflite_test.txt`); console.log('path_provider_test'); - await runCmd(`cd ..\\automated_testing_demo && flutter test .\\integration_test\\path_provider_test.dart --machine > ..\\node_test_server\\${FILE_URL}\\path_provider_test.txt`); + await runCmd(`cd ../automated_testing_demo && flutter test ./integration_test/path_provider_test.dart --machine > ../node_test_server/${FILE_URL}/path_provider_test.txt`); console.log('key_input_test'); - await runCmd(`cd ..\\automated_testing_demo && flutter test .\\integration_test\\key_input_test.dart --machine > ..\\node_test_server\\${FILE_URL}\\key_input_test.txt`); - // console.log('video_player_test'); - // await runCmd(`cd ..\\automatic_video_player_test && flutter test .\\integration_test\\video_player_test.dart --machine > ..\\node_test_server\\${FILE_URL}\\video_player_test.txt`); - // console.log('webview_flutter_test'); - // await runCmd(`cd ..\\automatic_webview_flutter_test && flutter test .\\integration_test\\webview_flutter_test.dart --machine > ..\\node_test_server\\${FILE_URL}\\webview_flutter_test.txt`); + await runCmd(`cd ../automated_testing_demo && flutter test ./integration_test/key_input_test.dart --machine > ../node_test_server/${FILE_URL}/key_input_test.txt`); await runCmd(`timeout /t 10`); createXlsx(FILE_URL); } // 压力测试 async function pressureTest() { - await runCmd(`chcp 65001`); - console.log('更新代码'); - await runCmd(`for /f "delims=" %i in ('where flutter') do @cd /d "%~dpi" && git pull`); + createFolder(FILE_10000_URL); + if (platform === 'win32') { + await runCmd(`chcp 65001`); + console.log('更新代码'); + await runCmd(`for /f "delims=" %i in ('where flutter') do @cd /d "%~dpi" && git pull`); + } + // 清理logs文件 + deleteAllFilesInFolder(FILE_10000_URL); console.log('camera_test'); - await runCmd(`cd ..\\automated_testing_demo && flutter test .\\integration_test\\path_provider_test_10000.dart --machine > ..\\node_test_server\\${FILE_10000_URL}\\path_provider_test.txt`); + await runCmd(`cd ../automated_testing_demo && flutter test ./integration_test/path_provider_test_10000.dart --machine > ../node_test_server/${FILE_10000_URL}/path_provider_test.txt`); console.log('sqflite_test'); - await runCmd(`cd ..\\automated_testing_demo && flutter test .\\integration_test\\key_input_test_10000.dart --machine > ..\\node_test_server\\${FILE_10000_URL}\\key_input_test.txt`); + await runCmd(`cd ../automated_testing_demo && flutter test ./integration_test/key_input_test_10000.dart --machine > ../node_test_server/${FILE_10000_URL}/key_input_test.txt`); console.log('path_provider_test'); - await runCmd(`cd ..\\automated_testing_demo && flutter test .\\integration_test\\sqflite_test_10000.dart --machine > ..\\node_test_server\\${FILE_10000_URL}\\sqflite_test.txt`); + await runCmd(`cd ../automated_testing_demo && flutter test ./integration_test/sqflite_test_10000.dart --machine > ../node_test_server/${FILE_10000_URL}/sqflite_test.txt`); console.log('key_input_test'); - await runCmd(`cd ..\\automated_testing_demo && flutter test .\\integration_test\\key_input_test.dart --machine > ..\\node_test_server\\${FILE_10000_URL}\\key_input_test.txt`); + await runCmd(`cd ../automated_testing_demo && flutter test ./integration_test/key_input_test.dart --machine > ../node_test_server/${FILE_10000_URL}/key_input_test.txt`); console.log('video_player_test'); - await runCmd(`cd ..\\automatic_video_player_test && flutter test .\\integration_test\\video_player_test.dart --machine > ..\\node_test_server\\${FILE_10000_URL}\\video_player_test.txt`); + await runCmd(`cd ../automatic_video_player_test && flutter test ./integration_test/video_player_test.dart --machine > ../node_test_server/${FILE_10000_URL}/video_player_test.txt`); console.log('webview_flutter_test'); - await runCmd(`cd ..\\automatic_webview_flutter_test && flutter test .\\integration_test\\webview_flutter_test.dart --machine > ..\\node_test_server\\${FILE_10000_URL}\\webview_flutter_test.txt`); + await runCmd(`cd ../automatic_webview_flutter_test && flutter test ./integration_test/webview_flutter_test.dart --machine > ../node_test_server/${FILE_10000_URL}/webview_flutter_test.txt`); createXlsx(FILE_10000_URL); } // 超长时间测试 async function longTimeTest() { - await runCmd(`chcp 65001`); - console.log('更新代码'); - await runCmd(`for /f "delims=" %i in ('where flutter') do @cd /d "%~dpi" && git pull`); - // console.log('camera_test'); - // await runCmd(`cd ..\\automatic_camera_test && flutter test .\\integration_test\\camera_test.dart --machine > ..\\node_test_server\\${FILE_URL}\\camera_test.txt`); + createFolder(FILE_URL); + if (platform === 'win32') { + await runCmd(`chcp 65001`); + console.log('更新代码'); + await runCmd(`for /f "delims=" %i in ('where flutter') do @cd /d "%~dpi" && git pull`); + } for (let i = 0; i < 1000; i++) { console.log('清理logs文件'); deleteAllFilesInFolder(FILE_URL); console.log('sqflite_test'); - await runCmd(`cd ..\\automated_testing_demo && flutter test .\\integration_test\\sqflite_test.dart --machine > ..\\node_test_server\\${FILE_URL}\\sqflite_test.txt`); + await runCmd(`cd ../automated_testing_demo && flutter test ./integration_test/sqflite_test.dart --machine > ../node_test_server/${FILE_URL}/sqflite_test.txt`); console.log('path_provider_test'); - await runCmd(`cd ..\\automated_testing_demo && flutter test .\\integration_test\\path_provider_test.dart --machine > ..\\node_test_server\\${FILE_URL}\\path_provider_test.txt`); + await runCmd(`cd ../automated_testing_demo && flutter test ./integration_test/path_provider_test.dart --machine > ../node_test_server/${FILE_URL}/path_provider_test.txt`); console.log('key_input_test'); - await runCmd(`cd ..\\automated_testing_demo && flutter test .\\integration_test\\key_input_test.dart --machine > ..\\node_test_server\\${FILE_URL}\\key_input_test.txt`); - // console.log('video_player_test'); - // await runCmd(`cd ..\\automatic_video_player_test && flutter test .\\integration_test\\video_player_test.dart --machine > ..\\node_test_server\\${FILE_URL}\\video_player_test.txt`); - // console.log('webview_flutter_test'); - // await runCmd(`cd ..\\automatic_webview_flutter_test && flutter test .\\integration_test\\webview_flutter_test.dart --machine > ..\\node_test_server\\${FILE_URL}\\webview_flutter_test.txt`); - // await runCmd(`timeout /t 10`); + await runCmd(`cd ../automated_testing_demo && flutter test ./integration_test/key_input_test.dart --machine > ../node_test_server/${FILE_URL}/key_input_test.txt`); createXlsx(FILE_URL); } } @@ -166,18 +168,23 @@ function fomateTxt(data) { function runCmd(cmd) { return new Promise(function (resolve, reject) { console.log(cmd) - exec(cmd, { - maxBuffer: 1024 * 2000 - }, function (err, stdout, stderr) { - if (err) { - // console.log(err); - reject(err); - } else if (stderr.lenght > 0) { - reject(new Error(stderr.toString())); - } else { - resolve(); - } - }); + try { + exec(cmd, { + maxBuffer: 1024 * 2000 + }, function (err, stdout, stderr) { + if (err) { + // console.log(err); + reject(err); + } else if (stderr.lenght > 0) { + reject(new Error(stderr.toString())); + } else { + resolve(); + } + }); + } catch (error) { + reject(error); + } + }); }; // 清理文件内容 -- Gitee