#c# #selenium #microsoft-edge
#c# #selenium #microsoft-edge
Вопрос:
Я использую C #, Microsoft.VisualStudio.Тестовые инструменты.UnitTesting и Selenium для тестирования веб-сайта.
Я знаю, что MS Edge больше не разрабатывается и заменяется продуктом на основе Chromium. Тем временем я все еще хотел бы иметь возможность сообщать своим клиентам, что Edge является поддерживаемым браузером, пока не произойдет замена.
Но похоже, что для использования selenium EdgeDriver требуется действующий microsoftwebdriver, а последний из них несовместим с последней версией Windows — на моем компьютере используется Windows 10 версии 1809 / сборка 17763.379.
Кто-нибудь смог заставить Edge testing работать с Selenium на компьютере с Windows 10 сборки 1809? Если да, пожалуйста, покажите несколько примеров кода и необходимые шаги / ссылки / использования / etc.
Если вы видели несколько сообщений об этом, где в одних ответах говорится, что это невозможно, а в других говорится, что это возможно, но те, которые говорят, что это возможно, не показывают никакого фактического кода или имен ссылок.
Комментарии:
1. Не уверен насчет C #, но я успешно опробовал Python и Ruby на своем компьютере с Windows 10. Дайте мне знать, если у вас возникнут какие-либо вопросы, как я это делаю на Python, ruby (кстати, я не начал работать с RemoteDriver at).
2. Успешно завершена реализация Grid с помощью Edge. Дайте мне знать, если вам нужны подробности, как я настроил узел и запустил Edge.
3. Вы могли бы проверить эту статью , чтобы использовать Edge WebDriver
4. предположительно — да — я хотел бы посмотреть, как вы это сделали. В Chrome и Firefox в строке, подобной этой, создается экземпляр драйвера: IWebDriver driver = new FirefoxDriver (параметры); В Edge, на основе старой документации, это будет работать до тех пор, пока установлен Microsoft Edge WebDriver, но нет совместимого webdriver для Win 10 версии 1809 / сборки 17763.379.
5. Zhi Lv — спасибо — но эта статья не актуальна, и шаги не могут быть выполнены из-за проблемы с webdriver, отмеченной выше.
Ответ №1:
Я приношу извинения всем читателям за то, что я не опубликовал решение, которое я в конечном итоге нашел, которое довольно простое. Вот код создания экземпляра драйвера:
var service = OpenQA.Selenium.Edge.EdgeDriverService.CreateDefaultService(@"C:Drivers", @"msedgedriver.exe");
service.UseVerboseLogging = true;
service.UseSpecCompliantProtocol = true;
service.Start();
var options = new OpenQA.Selenium.Edge.EdgeOptions();
// For future reference - please check to see if there are options that should be set...
driver = new RemoteWebDriver(service.ServiceUrl, options);
Как вы можете видеть, я храню последнюю версию драйвера edge в каталоге под названием «C:Drivers «. Последнюю версию драйвера всегда можно загрузить со страницы загрузки веб-сайта selenium (https://www.selenium.dev/downloads /) — разверните раздел «Браузеры» на этой странице.
Ответ №2:
Вам необходимо установить версию драйвера edge, равную версии edge в вашей системе. Чтобы узнать номер версии edge, перейдите в настройки-> о Microsoft edge.Загрузите правильную версию с https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver После загрузки вам необходимо изменить название драйвера на MicrosoftWebDriver.exe из msedgedriver.exe . Тогда это сработает 🙂
Ответ №3:
Пример кода на C #
else if (AppSettings.Browser == "Edge")
{
EdgeOptions edgeOptions = new EdgeOptions()
{
UseInPrivateBrowsing = true,
};
driver = new EdgeDriver(edgeOptions);
}
и удалите все ссылки Nuget на MicrosoftDriver, очистите решение
Затем выполните приведенную ниже команду в режиме администратора CMD
DISM.exe /Онлайн /Дополнительные возможности /CapabilityName: Microsoft.WebDriver ~~~~0.0.1.0
Примечание: Это решение предназначено для Microsoft Edge версии 18 или выше
Ответ №4:
Что ж, после долгих поисков в Интернете я нашел решение для этого!
По крайней мере, вы должны удалить свой пакет NuGet WebDriver (актуальную версию) и установить бета-версию, затем перейти на этот веб-сайтhttps://www.nuget.org/packages/Selenium .WebDriver / 4.0.0-beta2 скопируйте бета-версию nuget, которую вы хотите, в моем случае 4.0.0, до текущего момента, затем откройте свою Visual studio (моя версия 2019) Tools> Nuget Package Manager> Консоль управления пакетами, сюда вы вставляете свою копию. PS. сделайте загрузку с edge chromium
using OpenQA.Selenium.Edge;
public class Example Edger
{
private IWebDriver driver;
public void SetupTest()
{
driver = new EdgeDriver();
driver.Manage().Window.Maximize();
}
}