2017-10-16 3 views
2

J'essaie d'utiliser Selenium WebDriver.dll à partir du code Azure Function C# et j'ai le problème suivant lors de l'instanciation de WebDriver.Azure Fonction utilisant Selenium WebDriver.dll

Erreur:

2017-10-16T20:02:25.169 Exception while executing function: Functions.fnTestSelenium. Microsoft.Azure.WebJobs.Script: One or more errors occurred. mscorlib: The path is not of a legal form.2017-10-16T20:02:25.278 Function completed (Failure, Id=2fcb928f-ee39-4cfe-99f2-4be2d57e91b2, Duration=843ms)

code

#r "D: \ home \ site \ wwwroot \ fnTestSelenium \ bin \ WebDriver.dll" using System.Net;

using OpenQA.Selenium; 
using OpenQA.Selenium.Firefox; 

public static async Task<HttpResponseMessage> Run(HttpRequestMessage req, TraceWriter log) 
{ 
    log.Info("C# HTTP trigger function processed a request."); 

    IWebDriver driver=new FirefoxDriver(); 
    // parse query parameter 
    string name = req.GetQueryNameValuePairs() 
     .FirstOrDefault(q => string.Compare(q.Key, "name", true) == 0) 
     .Value; 

    // Get request body 
    dynamic data = await req.Content.ReadAsAsync<object>(); 

    // Set name to query string or body data 
    name = name ?? data?.name; 

    return name == null 
     ? req.CreateResponse(HttpStatusCode.BadRequest, "Please pass a name on the query string or in the request body") 
     : req.CreateResponse(HttpStatusCode.OK, "Hello " + name); 
} 
+0

S'il vous plaît prendre un minute pour formater correctement votre code en tant que code, message d'erreur avec une balise de commentaire (>), supprimer le style de titre, etc. afin qu'il soit plus facile à lire. – JeffC

Répondre

2

Je ne pense pas que vous aurez beaucoup de succès en cours d'exécution sur les fonctions Sélénium Azure. Les fonctions Azure, telles que WebApps et les applications mobiles, s'exécutent dans un App Service. Le service d'applications s'exécute dans un environnement sécurisé appelé sandbox qui impose certaines limitations. Parmi eux, est l'utilisation de GDI +.

Vous pouvez voir la liste de prescription, ainsi que la liste des cadres non pris en charge https://github.com/projectkudu/kudu/wiki/Azure-Web-App-sandbox#unsupported-frameworks

Si vous vérifiez vers le bas, vous verrez Selenimum dans la liste des non pris en charge:

Other scenarios that are not supported:

PhantomJS/Selenium: tries to connect to local address, and also uses GDI+.