Skip to content

Commit 44b12e4

Browse files
committed
fix: write screenshot to download path
1 parent d65b044 commit 44b12e4

File tree

1 file changed

+20
-15
lines changed

1 file changed

+20
-15
lines changed

src/lib.rs

Lines changed: 20 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -169,18 +169,18 @@ pub async fn generate_report(
169169
}
170170
Err(e) => {
171171
let page_url = page.url().await;
172+
let err_msg = format!(
173+
"Error finding email input box: current url: {:#?} error: {e}",
174+
page_url
175+
);
176+
log::error!("{err_msg}");
172177
// Take a screenshot before killing the browser to help debug login issues
173178
take_screenshot(&page, org_id, dashboard_id).await?;
174179
log::info!("killing browser");
175180
browser.close().await?;
176181
browser.wait().await?;
177182
handle.await?;
178183
browser.kill().await;
179-
let err_msg = format!(
180-
"Error finding email input box: current url: {:#?} error: {e}",
181-
page_url
182-
);
183-
log::error!("{err_msg}");
184184
return Err(anyhow::anyhow!("{err_msg}"));
185185
}
186186
}
@@ -197,17 +197,17 @@ pub async fn generate_report(
197197
}
198198
Err(e) => {
199199
let page_url = page.url().await;
200+
let err_msg = format!(
201+
"Error finding password input box: current url: {:#?} error: {e}",
202+
page_url
203+
);
204+
log::error!("{err_msg}");
200205
take_screenshot(&page, org_id, dashboard_id).await?;
201206
log::info!("killing browser");
202207
browser.close().await?;
203208
browser.wait().await?;
204209
handle.await?;
205210
browser.kill().await;
206-
let err_msg = format!(
207-
"Error finding password input box: current url: {:#?} error: {e}",
208-
page_url
209-
);
210-
log::error!("{err_msg}");
211211
return Err(anyhow::anyhow!("{err_msg}"));
212212
}
213213
}
@@ -296,17 +296,17 @@ pub async fn generate_report(
296296
.await
297297
{
298298
let page_url = page.url().await;
299+
log::error!(
300+
"Error navigating to organization {org_id}: current uri: {:#?} error: {e}",
301+
page_url
302+
);
299303
// Take a screenshot before killing the browser to help debug issues
300304
take_screenshot(&page, org_id, dashboard_id).await?;
301305
log::info!("killing browser");
302306
browser.close().await?;
303307
browser.wait().await?;
304308
handle.await?;
305309
browser.kill().await;
306-
log::error!(
307-
"Error navigating to organization {org_id}: current uri: {:#?} error: {e}",
308-
page_url
309-
);
310310
return Err(anyhow::anyhow!("{e}"));
311311
}
312312
page.wait_for_navigation().await?;
@@ -465,8 +465,13 @@ async fn take_screenshot(
465465
let timestamp = chrono::Utc::now().timestamp();
466466
let screenshot_params = CaptureScreenshotParamsBuilder::default();
467467
let screenshot = page.screenshot(screenshot_params.build()).await?;
468+
let download_path = &CONFIG.chrome.chrome_download_path;
469+
tokio::fs::create_dir_all(download_path).await.unwrap();
468470
tokio::fs::write(
469-
format!("screenshot_{}_{}_{}.png", org_id, dashboard_name, timestamp),
471+
format!(
472+
"{}/screenshot_{}_{}_{}.png",
473+
download_path, org_id, dashboard_name, timestamp
474+
),
470475
&screenshot,
471476
)
472477
.await?;

0 commit comments

Comments
 (0)