Ich versuche, eine einfache Automatisierungsaufgabe zu erstellen. Fürs Erste möchte ich mich auf der Webseite einloggen. Dies alles funktioniert gut, wenn ich den Test in Visual Studio 2017 ausführen. Dies muss jedoch als eine Exe auf regelmäßigen Intervall in Windows-System ausgeführt werden. Wenn ich die ausführbare Datei ausgeführt hängt es nach der Anzeige:Selenium/Chromedriver Automatisierung hängen, wenn als ausführbare Datei ausgeführt
Ab ChromeDriver 2.32.498550 (9dec58e66c31bcc53a9ce3c7226f0c1c5810906a)
auf Port 9515
Nur lokale Verbindungen erlaubt.
Ich verstehe das einfach info ist kein Fehler pro meist SO Beiträge zu diesem Problem wie - When running WebDriver with Chrome browser, getting message, "Only local connections are allowed" even though browser launches properly (Anmerkung: mein Browser nicht gestartet)
Wie kann ich den Test-Code ausführen, wie eine ausführbare Datei? Muss ich zusätzlichen Code schreiben, um den Test als ausführbare Datei auszuführen?
namespace RevuSeleniumAutomation
{
using Microsoft.VisualStudio.TestTools.UnitTesting;
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
using OpenQA.Selenium.Firefox;
using OpenQA.Selenium.IE;
using OpenQA.Selenium.Remote;
using OpenQA.Selenium.PhantomJS;
using System;
[TestClass]
public class RevuAutomater
{
private string baseURL = "http://example.com/";
private RemoteWebDriver driver;
private string browser;
public TestContext TestContext { get; set; }
[TestMethod]
[TestCategory("Selenium")]
[Priority(1)]
[Owner("Chrome")]
public void AutomateSite()
{
driver = new ChromeDriver();
driver.Manage().Window.Maximize();
driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(30));
driver.Navigate().GoToUrl(this.baseURL);
driver.FindElementById("UserName").SendKeys("user");
driver.FindElementById("Password").SendKeys("12345");
}
[TestCleanup()]
public void MyTestCleanup()
{
driver.Quit();
}
[TestInitialize()]
public void MyTestInitialize()
{
}
}
}
The cmd window message after launching exe
Vielen Dank für Ihre Zeit.
Haben Sie in Visual Studio und als EXE auf demselben Computer ausgeführt? Wenn dies der Fall ist, sollte es als in Visual Studio ausgeführt übergeben werden, da beide den gleichen Chrome und Chromeedriver.exe verwenden. – yong
das Problem ist Chrome-Treiber hängt & Sie müssen alle Chromedriver-Prozess vor dem erneuten Aufruf der exe beenden. Beispiel cmd Befehl kann als erster Teil Ihres Codes verwendet werden: "taskkill/F/IM chromedriver.exe/T", die auf cmd ausgeführt werden muss – thebadguy