我为.NET Core AWS Lambda函数创建了一个新的Visual Studio项目。我想运行一个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(字符串servicePath,Int32端口,字符串driverServiceExecutableName,Uri driverServiceDownloadUrl)“, “在OpenQA.Selenium.PhantomJS.PhantomJSDriverService..ctor(字符串可执行文件路径,字符串可执行文件名,Int32端口)”, “位于C:\ Git \ LambdaTest \ HealthCheck \ Function.cs:line中的HealthCheck.Function.GetWebDriver() 28“, “在HealthCheck.Function.FunctionHandler(ILambdaContext上下文)中 C:\ Git \ LambdaTest \ HealthCheck \ Function.cs:line 20“, “在lambda_method(Closure,Stream,Stream,LambdaContextInternal)”]}
phantomjs.exe
文件包含在上传的软件包中,但是我不知道需要提供什么路径?