Встроенная функция подтверждения в Selenium существует только в SeleniumIDE, надстройке браузера «укажи и щелкни», доступной для Chrome и Firefox.
Если вы собираетесь писать свои тесты на C #, как сказала Кристина, вам нужно использовать среду модульного тестирования. Например, я использую Xunit, и простой тест выглядит следующим образом:
using Xunit; // Testing framework. NuGet package
using OpenQA.Selenium.Firefox; // Driver for Firefox
using Xunit.Priority; // NuGet add-on to Xunit that allows you to order the tests
using OpenQA.Selenium; // NuGet package
using System.Diagnostics; // Can Debug.Print when running tests in debug mode
namespace Test_MyWebPage
{
[TestCaseOrderer(PriorityOrderer.Name, PriorityOrderer.Assembly)] // Set up ordering
public class Test_BasicLogin : IDisposable
{
public static IWebDriver driver = new FirefoxDriver(@"path\to\geckodriver");
// Here be the tests...
[Fact, Priority(0)]
public void Test_LaunchWebsite()
{
// Arrange
var url = "https://yourserver.yourdomain/yourvirtualdir";
// Act
// Sets browser to maximized, allows 1 minute for the page to
// intially load, and an implicit time out of 1 minute for elements
// on the page to render.
driver.Manage().Window.Maximize();
driver.Manage().Timeouts().PageLoad = new TimeSpan(0, 1, 0);
driver.Manage().Timeouts().ImplicitWait = new TimeSpan(0, 1, 0);
driver.url = url; // Launches the browser and opens the page
/* Assuming your page has a login prompt
/* we'll try to locate this element
/* and perform an assertion to test that the page comes up
/* and displays a login prompt */
var UserNamePrompt = driver.FindElement(By.Id("userLogin_txtUserName"));
// Assert
Assert.NotNull(UserNamePrompt); // Bombs if the prompt wasn't found.
Debug.Print("Found User Name Prompt successfully.");
}
public void Dispose()
{
// Properly close the browser when the tests are done
try
{
driver.Quit();
}
catch (Exception ex)
{
Debug.WriteLine($"Error disposing driver: {ex.Message}");
}
}
}
}
Как видите, настройка тестов для Selenium WebDriver значительно больше, чем настройка простого дыматесты с SeleniumIDE. Я не говорил о том, как правильно хранить ваши конфиги (жесткое кодирование, как в примере, это плохо), и вам придется адаптировать операторы driver.find () в соответствии с вашей конкретной ситуацией. Я использую пакет Xunit.Priority, чтобы убедиться, что тесты не все работают параллельно;Мне нужно проверить одну вещь за один раз в прогрессии. Ваши потребности могут быть удовлетворены путем помещения всех шагов в один метод Test_ *. Каждый метод отображается в виде отдельного теста в окне обозревателя тестов Visual Studio. Если щелкнуть правой кнопкой мыши тест в проводнике тестов и выбрать «Отладить выбранные тесты», вы сможете установить точки останова, а также включить отображение методов Debug.Print (или Debug.Write / Writeline) в разделе «Тесты» окна вывода VS.
Другая проблема заключается в настройке IWebDriver: не указывайте путь complete , включая исполняемый файл, только путь к папке, в которой он находится.
Удачи и счастливого тестирования!