Le sélénium c#: Comment lancer Internet Explorer pilote dans une version spécifique (IE8 par exemple)
En java, il est possible de définir une version de IE pour internet explorer pilote en passant les compétences requises. Cela ne fonctionne pas en C#.
Je m'attends à ce qu'il ressemble à quelque chose comme:
DesiredCapabilities ieCapabilities = null;
ieCapabilities = DesiredCapabilities.InternetExplorer();
ieCapabilities.SetCapability(CapabilityType.Version, "8");
IWebDriver driver = new InternetExplorerDriver(ieCapabilities);
En c# je ne peut pas passer DesiredCapabilities en InternetExplorerDriver() constructeur.
Merci d'ajouter au moins une phrase sondage comme une question.
La question est dans le titre. Veuillez le lire attentivement.
Le titre doit être une description de votre problème et le corps de votre question doit contenir une question. C'est aussi simple que cela.
La question est dans le titre. Veuillez le lire attentivement.
Le titre doit être une description de votre problème et le corps de votre question doit contenir une question. C'est aussi simple que cela.
OriginalL'auteur Different | 2013-05-23
Vous devez vous connecter pour publier un commentaire.
La
DesiredCapabilities
sont enveloppés dans diversOptions
classe pour le pilote spécifique.Il y a un
InternetExplorerOptions
classe, qui permet de spécifier des options supplémentaires pour le lancement de IE, et l'une des méthodes sur c'estAddAdditionalCapability
qui vous permettra d'ajouter n'importe quelle capacité vous souhaitez demande. Cela signifie que le options contenir les capacités qui est ensuite transmis à la pilote.Comme spécifiques à votre question, non, il n'est pas possible. Ce n'est pas une limitation de Sélénium ou de la IEDriverServer, mais IE lui-même. Vous ne pouvez pas, sans majeur hacks, ont plus d'une version d'IE sur une machine à la fois. Pensez-y de l'autre - chaque fois que vous mettez à niveau c'est à dire, il désinstalle la version précédente.
Il va lancer la d'IE que vous avez installé actuellement. Tout le reste est pur de mal, et encore une fois, c'est mal parce que vous ne peut tout simplement pas avoir plus d'une version d'internet explorer sur un ordinateur Windows à la fois.
La seule façon de contourner cela est d'avoir des machines séparées ou VM pour chaque version, ou d'investir dans un système automatisé de cloud framework de test comme SauceLabs.
modifier
Vous avez aussi mentionné que vous avez voulu utiliser le mode de compatibilité de IE8 ou s'est demandé si cela serait lors de l'utilisation de la IEDriver.
C'est quelque chose de totalement différent (pun intended).
La compatibilité du moteur dans IE est pas, une véritable représentation de navigateurs moteur. Par conséquent, vous devez penser que vous êtes en cours d'exécution, dire, IE9 avec IE7 en mode de compatibilité et donc s'attendre à IE7 en plein, il ne sera pas, même Microsoft le dire, et il sera utilisé pour adhoc - c'est de ne pas être invoqué. Par conséquent, même si vous pourrait ce faire, il ne serait pas un test fiable, même dans les moindres termes.
Le problème n'est toujours pas une Sélénium question. Le IEDriver va appel quel que soit IE est installé et à quel point, c'est-à-dire à mis en place une session que le Sélénium peut se connecter.
Il vaut la peine de mentionner que tous les options de compatibilité, vous pouvez utiliser le IEDriver n'affectent pas IE lui-même, en plus de la création de la session et comment le Sélénium interagit avec elle.
À ce stade, le Sélénium lève ses mains en l'air, il y a très peu de cas qu'il peut faire.
Avec cela à l'esprit, le Sélénium ne peut tout simplement pas la force, c'est à dire l'utilisation d'un certain mode navigateur. Il n'y a pas d'API à tous pour ce faire, et par conséquent, il n'est pas facile à faire.
La solution de contournement ici, est de forcer IE pour afficher dans un affichage de compatibilité dans la première place. Vos options sont très limitées:
Force IE9 dans le navigateur de l'affichage de compatibilité
Voir mon edit, la version courte est, encore, il n'y a pas beaucoup que vous pouvez faire, vous aurez besoin de force, c'est à dire l'afficher dans un certain mode, en premier lieu, le Sélénium a absolument aucun contrôle sur elle - encore une fois, pas une limitation de Sélénium. Je vais aussi mentionner encore une fois, vous ne être en mesure d'utiliser ce que IE est installé sur la machine à l'époque.
Merci pour une réponse. Je vois votre point de vue.
La seule chose qui me confond, c'est que en java, par exemple, je peux mettre la version de capacités qui ne fait rien: DesiredCapabilities ieCapabilities = null; ieCapabilities = DesiredCapabilities.internetExplorer(); ieCapabilities.setCapability(CapabilityType.BROWSER_NAME, "Internet Explorer"); ieCapabilities.setCapability(CapabilityType.VERSION, "8"); driver_ie = new InternetExplorerDriver(ieCapabilities);
OriginalL'auteur Arran
Pour instancier des versions différentes, vous pouvez définir la version à l'aide de la capacité.setVersion à la version requise nombre. En même temps, tout en commençant le nœud, vous devez ajouter les paramètres suivants dans la ligne de commande:
Pour prendre en charge plusieurs versions sur le même nœud, vous pouvez utiliser le bouton "navigateur" à plusieurs reprises.
OriginalL'auteur Atira_Jak