Отсутствующие файлы .js для Selenium в .Net вызывают сбои теста

Я пытаюсь запустить некоторые базовые тесты Selenium в .Net Core с помощью тестовой среды Nunit.

У меня установлены следующие пакеты Nuget:

Selenium.Support
Selenium.Helper
Selenium.WebDriver
Selenium.WebDriver.ChromeDriver
Selenium.WebDriver.IEDriver
Selenium.WebDriverBackedSelenium

При запуске любого модульного теста я получаю

"Message: OpenQA.Selenium.WebDriverException : Cannot find a file named 
'D:\SeleniumTests\SeleniumTests.OldFramework\bin\Debug\isTextPresent.js' or 
an embedded resource with the id 'isTextPresent.js'."

Поиск в Интернете не помог. я нашел это как использовать WebDriverBacked Selenium , Я попробовал одно из включенных предложений, но это не помогло. Я также воссоздал тест в .Net Framework, чтобы убедиться, что это проблема Core, но все еще вижу сбои.

Документации об отсутствии этого файла не так много, я ожидал, что они появятся в пакете Nuget, установка вручную не кажется очень удобной в обслуживании, и я не видел ни одного руководства, в котором упоминалась бы установка файлов js вручную.

Вот мой единственный тест.

[TestCase]
public async Task ChromeTest1()
{

    driver = new ChromeDriver();
    var sometthing = new Selenium.WebDriverBackedSelenium(driver, "https://www.google.com");

    sometthing.Click(By.LinkText("Search").ToString());

    driver.Quit();
    sometthing.Close();

    Assert.True(sometthing.GetTitle() == "");
}

Есть ли какой-то секрет, как заставить это работать? Я что делаю неправильно? Селен - это просто китайская розыгрыш?

WebDriverBackedSelenium полагается на изрядное количество кода JavaScript. Код должен быть сгенерирован в процессе сборки Selenium (который требует действий, внешних по отношению к Visual Studio). Последующие файлы JavaScript должны быть встроены в сборку до ее выпуска через NuGet. Конечно, вполне возможно, что что-то непредвиденное изменилось, и это не так.

JimEvans 27.10.2018 06:28
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
1
233
1

Ответы 1

Я мог обойти это только путем перехода на WebDriverBackedSelenium версии 3.5.2. Начиная с версии 3.6.0, я получаю сообщения об отсутствии файлов .js.

Это комментарий, а не ответ.

cmprogram 27.02.2019 17:03

Потому что вы не предоставили достаточно подробностей о том, ПОЧЕМУ.

cmprogram 28.02.2019 07:19

Итак, для моего понимания - если я знаю потенциальное решение, которое может помочь некоторым людям, но я не знаю, почему оно работает, мне не следует его публиковать?

reprive 28.02.2019 08:32

Да, конечно. Потому что, хотя это может показаться очень полезным (и я понимаю, что это все, что вы пытались сделать), на самом деле это может быть не ответ. - Это может выглядеть так, как будто это работает, или работать при очень строгих условиях. Пока вы не поймете, ПОЧЕМУ что-то делает то, что делает, вам не следует предлагать это в качестве окончательного ответа. Это все равно что принимать лекарство, а также нюхать цветок - тогда, когда вам станет лучше, если вы не знаете, какое лекарство вылечило вас, вы можете предложить понюхать цветы кому-то другому, потому что это коррелирует с работой на вас.

cmprogram 28.02.2019 10:06

Другие вопросы по теме