我正在嘗試使用量角器中的通用方法保存屏幕截圖。兩個功能,它創建文件夾,如果它不存在,它會保存文件(在某些條件下)。使用量角器保存屏幕截圖
export function WriteScreenShot(data: string, filename: string) {
let datetime = moment().format('YYYYMMDD-hhmmss');
filename = `../../../test-reports/${filename}.${datetime}.png`;
let path =filename.substring(0, filename.lastIndexOf('/'));
if (!fs.existsSync(path)) {
fs.mkdirSync(path);
}
let stream = fs.createWriteStream(filename);
stream.write(new Buffer(data, 'base64'));
stream.end();
}
這可以通過調用browser.takeScreenshot().then(png => WriteScreenShot(png, 'login/login-page'));
使用這個例子調用中使用一個文件將被創建,我認爲,在相對路徑在我的WriteScreenShot方法的文件駐留英寸但似乎並非如此。
例如,當我在spec的文件夾中運行我的spec測試時,圖像被保存在正確的位置。但是,如果我在項目根目錄下運行它,則會捕獲錯誤。顯然,這與我的相對路徑引用有關。我如何捕獲項目的根目錄並從中建立,以便我可以從任何目錄運行測試?
您可以舉一個例子說明如何以及從何處運行配置?有幾種方法可以做到這一點,但是從運行腳本的位置可以確定最佳解決方案 – wswebcreation