Update timeout for web driver logic to fetch from appSettings

This commit is contained in:
Visagan Guruparan 2025-03-11 22:01:16 -05:00
parent 4b867909a1
commit 7d4d233f7e
4 changed files with 13 additions and 4 deletions

View file

@ -4,4 +4,5 @@ public class WebBrowsingSettings
{
public string Driver { get; set; } = "Playwright";
public bool Headless { get; set; }
public float? DefaultTimeOut { get; set; }
}

View file

@ -1,3 +1,5 @@
using BotSharp.Abstraction.Browsing.Settings;
namespace BotSharp.Plugin.WebDriver.Functions;
public class GoToPageFn : IFunctionCallback
@ -25,7 +27,7 @@ public class GoToPageFn : IFunctionCallback
var url = webDriverService.ReplaceToken(args.Url);
url = url.Replace("https://https://", "https://");
var _webDriver = _services.GetRequiredService<WebBrowsingSettings>();
var result = await _browser.GoToPage(new MessageInfo
{
AgentId = message.CurrentAgentId,
@ -33,7 +35,8 @@ public class GoToPageFn : IFunctionCallback
MessageId = message.MessageId
}, new PageActionArgs
{
Url = url
Url = url,
Timeout = _webDriver.DefaultTimeOut
});
message.Content = result.IsSuccess ? $"Page {url} is open." : $"Page {url} open failed. {result.Message}";

View file

@ -26,7 +26,7 @@ public class OpenBrowserFn : IFunctionCallback
var webDriverService = _services.GetRequiredService<WebDriverService>();
var url = webDriverService.ReplaceToken(args.Url);
var _webDriver = _services.GetRequiredService<WebBrowsingSettings>();
url = url.Replace("https://https://", "https://");
var msgInfo = new MessageInfo
{
@ -40,7 +40,8 @@ public class OpenBrowserFn : IFunctionCallback
});
result = await _browser.GoToPage(msgInfo, new PageActionArgs
{
Url = url
Url = url,
Timeout = _webDriver.DefaultTimeOut
});
if (result.IsSuccess)

View file

@ -1,3 +1,5 @@
using BotSharp.Abstraction.Browsing.Settings;
namespace BotSharp.Plugin.WebDriver.UtilFunctions;
public class UtilWebGoToPageFn : IFunctionCallback
@ -21,6 +23,8 @@ public class UtilWebGoToPageFn : IFunctionCallback
{
PropertyNamingPolicy = JsonNamingPolicy.CamelCase
});
var _webDriver = _services.GetRequiredService<WebBrowsingSettings>();
args.Timeout = _webDriver.DefaultTimeOut;
args.WaitForNetworkIdle = false;
args.WaitTime = 5;
args.OpenNewTab = true;