Я создал новый проект Visual Studio для функции .NET Core AWS Lambda.Я хотел бы запустить функцию Lambda, которая использует PhantomJs для проверки правильности ответа веб-сайта.
Я добавил следующие пакеты NuGet:
И создал эту базовую функцию:
public class Function
{
public string FunctionHandler(ILambdaContext context)
{
IWebDriver webDriver = GetWebDriver();
webDriver.Navigate().GoToUrl("http://test.com");
Console.WriteLine(webDriver.Url);
return webDriver.Url;
}
private IWebDriver GetWebDriver()
{
PhantomJSOptions options = new PhantomJSOptions();
PhantomJSDriverService defaultService = PhantomJSDriverService.CreateDefaultService(Directory.GetCurrentDirectory());
defaultService.HideCommandPromptWindow = true;
defaultService.LoadImages = false;
return new PhantomJSDriver(defaultService, options);
}
}
Я могу заставить тест работать нормально локально, но на AWS я изо всех сил пытаюсь обойти эту ошибку:
{"errorType": "DriverServiceNotFoundException", "errorMessage": "Файл / var / task / phantomjs не существует. Драйвер можно загрузить по адресу http://phantomjs.org/download.html"," stackTrace ": [" в OpenQA.Selenium.DriverService..ctor (String servicePath, порт Int32, String driverServiceExecutableName, Uri driverServiceDownloadUrl) "," в OpenQA.Selenium.PhantomJS.PhantomJSDriverService..ctor (String executetablePath, String executetableFileName, порт Int32.CheverF), at) в C: \ Git \ LambdaTest \ HealthCheck \ Function.cs: строка 28 "," в HealthCheck.Function.FunctionHandler (контекст ILambdaContext) в C: \ Git \ LambdaTest \ HealthCheck \ Function.cs: строка 20 ", "at lambda_method (Closure, Stream, Stream, LambdaContextInternal)"]}
Файл phantomjs.exe
включен в загруженный пакет, но я не знаю, какой путь мне нужно указать