Автоматизация и тестирование приложений WebView2 с помощью Microsoft Edge WebDriver
В этой статье объясняется, как автоматизировать и протестировать приложение WebView2 с помощью Microsoft Edge WebDriver с помощью платформы Selenium для автоматизации тестирования браузера.
В этой статье приведены инструкции по использованию платформы Selenium и C#, но вы можете использовать любую библиотеку, платформу и язык программирования, поддерживающие WebDriver. Чтобы выполнить те же задачи с помощью платформы тестирования WebDriver, отличной от Selenium, обратитесь к официальной документации по выбранной платформе.
Чтобы создать автоматические тесты, имитирующие взаимодействие с пользователем для приложения WebView2, можно использовать Microsoft Edge WebDriver. Microsoft Edge WebDriver — это реализация протокола W3C WebDriver корпорации Майкрософт. Протокол W3C WebDriver позволяет программам управлять поведением веб-браузеров.
Авторы тестов пишут тесты, которые используют команды WebDriver, чтобы сообщить браузеру о выполнении определенных действий. Microsoft Edge WebDriver получает эти команды, а затем просит браузер выполнить запрошенное действие. Microsoft Edge WebDriver поддерживает автоматизацию браузеров Microsoft Edge и WebView2.
Связь между протоколом WebDriver, Microsoft Edge WebDriver как реализацией этого протокола и платформой тестирования Selenium см. в статье Обзор WebDriver.
Шаг 1. Скачивание примера WebView2API
Если у вас нет проекта WebView2, клонируйте репозиторий WebView2Samples, чтобы скачать пример приложения WebView2API. Этот конкретный пример в более крупном репозитории является исчерпывающим примером последней версии пакета SDK для WebView2. Убедитесь, что выполнены предварительные требования для примера приложения WebView2API.
После клонированного репозитория создайте проект в Visual Studio. Он должен выглядеть так, как показано на следующем рисунке.
Шаг 2. Установка Microsoft Edge WebDriver
Следуйте инструкциям по установке Microsoft Edge WebDriver. Microsoft Edge WebDriver — это драйвер для браузера, необходимый Selenium для автоматизации и тестирования WebView2.
Убедитесь, что версия Microsoft Edge WebDriver соответствует версии среды выполнения WebView2, используемой приложением. Чтобы пример WebView2API работал, убедитесь, что ваша версия среды выполнения WebView2 больше или равна поддерживаемой версии последнего выпуска пакета SDK Для WebView2.
- Чтобы найти последнюю версию пакета SDK для WebView2, см. заметки о выпуске пакета SDK для WebView2.
- Чтобы узнать, какая версия среды выполнения WebView2 у вас сейчас есть, перейдите на страницу edge://settings/help .
Шаг 3. Добавление Selenium в пример WebView2API
К этому моменту вы установили среду выполнения WebView2, создали проект WebView2 и установили Microsoft Edge WebDriver. Далее начните использовать Selenium, как показано ниже.
- Начните с создания нового проекта C# платформа .NET Framework в Visual Studio. Нажмите кнопку Далее в правом нижнем углу, чтобы продолжить.

- Присвойте проекту имя проекта, сохраните его в выбранном расположении и нажмите кнопку Создать.
Создается новый проект со всем кодом, помещенным Program.cs в файл. 
- Затем добавьте Selenium в проект; установите Selenium с помощью пакета NuGet Selenium.WebDriver, как показано ниже. Чтобы скачать пакет NuGet Selenium.WebDriver, в Visual Studio выберите Управление проектами>пакетов NuGet.
- Перейдите на вкладку Обзор . Появится следующий экран.

- В раскрывающемся списке Источник пакета выберите nuget.org.
- Установите флажок Включить предварительную версию .
- Введите Selenium.WebDriver в строке поиска и выберите Selenium.WebDriver в результатах.
- В окне сведений справа убедитесь, что для параметра Версия задано значение 4.0.0 или более поздней версии, а затем нажмите кнопку Установить. NuGet скачивает Selenium на компьютер.
Дополнительные сведения о пакете NuGet Selenium.WebDriver см. в статье Selenium.WebDriver. - Используйте OpenQA.Selenium.Edge , добавив инструкцию using OpenQA.Selenium.Edge; в начало файла Program.cs :
using OpenQA.Selenium.Edge; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;
Теперь вы настроили пустой проект Visual Studio, который подходит для тестирования Selenium. Затем настройте Selenium для управления WebView2 с помощью метода запуска или присоединения.
Шаг 4. Выбор запуска приложения Microsoft Edge WebDriver или присоединения к нему
Решите, следует ли настроить Selenium для управления WebView2, используя подход «запуск» или «присоединение».
- Подход «запуска». В некоторых сценариях целесообразно разрешить Microsoft Edge WebDriver обрабатывать запуск приложения WebView2. Microsoft Edge WebDriver запускает приложение WebView2 и автоматически подключается к первому доступному экземпляру WebView2, создаваемому приложением.
- Подход «присоединить». В других сценариях рекомендуется подключить Microsoft Edge WebDriver к работающему экземпляру WebView2. Вы запускаете приложение за пределами Microsoft Edge WebDriver, а затем присоединяете Microsoft Edge WebDriver к работающему экземпляру WebView2. Этот подход «присоединить» предназначен для приложения WebView2, несовместимого с подходом запуска.
Подход 1. Предоставление Microsoft Edge WebDriver возможности запуска приложения WebView2
Если у вас есть простое приложение, которое создает один экземпляр WebView2 и этот экземпляр активен сразу после запуска, можно использовать подход запуска. используйте шаг 4a. Разрешение Microsoft Edge WebDriver запускать приложение WebView2.
В этом сценарии существует один экземпляр WebView2, который доступен при запуске без необходимости перемещаться по собственному пользовательскому интерфейсу.
Подход 2. Подключение Microsoft Edge WebDriver к работающему приложению WebView2
Если у вас есть ситуация, которая не соответствует приведенному выше сценарию запуска, следует подключить Microsoft Edge WebDriver к работающему экземпляру WebView2 (вместо того, чтобы разрешить Microsoft Edge WebDriver обрабатывать запуск WebView2); используйте шаг 4b. Присоединение Microsoft Edge WebDriver к работающему приложению WebView2.
Ниже приведены некоторые примеры сценариев, которые не соответствуют сценарию запуска.
- Перед созданием экземпляра WebView2 необходимо перейти по собственному пользовательскому интерфейсу.
- Приложение создает несколько экземпляров WebView2, и вы хотите присоединиться к определенному экземпляру.
В таких сценариях рекомендуется подключиться к определенному экземпляру WebView2, так как запуск приложения WebView2 в Microsoft Edge предназначен только для относительно простых сценариев. Когда Microsoft Edge WebDriver запускает приложение, оно автоматически подключается к первому созданному экземпляру WebView2 и завершается ошибкой, если экземпляр WebView2 не найден.
Независимо от того, используете ли вы подход «запуск» или «присоединение», необходимо скачать Microsoft Edge WebDriver и убедиться, что версия соответствует версии среды выполнения WebView2, используемой приложением. Начальные шаги по настройке платформы WebDriver (например, Selenium) будут отличаться между подходами «запуск» и «присоединение».
Выполнив эти начальные шаги для запуска приложения или присоединения к экземпляру WebView2, вы сможете использовать любые поддерживаемые команды WebDriver для взаимодействия с этим экземпляром WebView2.
Шаг 4a. Разрешение Microsoft Edge WebDriver запустить приложение WebView2
Используйте этот подход запуска, если у вас есть простое приложение, которое создает один экземпляр WebView2 и этот экземпляр активен сразу после запуска. В этом сценарии существует один экземпляр WebView2, который доступен при запуске без необходимости перемещаться по собственному пользовательскому интерфейсу.
Чтобы управлять WebView2 с помощью Selenium и Microsoft Edge WebDriver, выполните приведенные ниже действия.
-
Создайте EdgeOptions объект , скопировав и вставив следующий код:
static void Main(string[] args) < EdgeOptions eo = new EdgeOptions();
- EdgeOptions Настройте экземпляр для использования WebView2, задав UseWebView для параметра значение true .
- Задайте eo.BinaryLocation путь к файлу двоичного файла приложения WebView2.
- Создайте EdgeDriver объект с помощью экземпляра EdgeOptions .
//Set the EdgeOptions instance to use WebView2 eo.UseWebView = true; //Set the BinaryLocation to the filepath of the WebView2API Sample runtime eo.BinaryLocation = @"C:\path\to\your\webview2\project.exe"; EdgeDriver e = new EdgeDriver(eo);
//Navigate the WebView2API Sample from bing.com to microsoft.com e.Url = @"https://www.microsoft.com"; //Exit Microsoft Edge WebDriver e.Quit(); >
Поздравляем! Вы успешно автоматизировали проект WebView2 и управляли WebView2 с помощью Selenium и Microsoft Edge WebDriver в рамках подхода запуска.
Это конец статьи, если вы используете подход "запуск".
Шаг 4b. Присоединение Microsoft Edge WebDriver к работающему приложению WebView2
В этом разделе объясняется, как подключить Microsoft Edge WebDriver к уже работающему экземпляру WebView2. Если у вас нет одного экземпляра WebView2 или экземпляру WebView2 требуется переход по собственному пользовательскому интерфейсу, воспользуйтесь этим разделом и подходом.
Проблема заключается в том, что для автоматизации приложения на основе WebView2 иногда сначала необходимо выполнить некоторые действия в собственном графическом интерфейсе, чтобы запустить элемент управления WebView2. В качестве решения необходимо перейти в собственный пользовательский интерфейс за пределами Microsoft Edge WebDriver и каким-то образом убедиться, что экземпляр WebView2 отображается следующим образом.
В этом сценарии, где у вас есть собственный пользовательский интерфейс для навигации, вы запускаете приложение с помощью метода, отличного от Microsoft Edge WebDriver, например скрипта командной строки или отдельного средства, например WinAppDriver. После запуска процесса приложения активируйте экземпляр WebView2, а затем подключите Microsoft Edge WebDriver к работающему экземпляру WebView2.
Microsoft Edge WebDriver не обрабатывает автоматизацию собственного пользовательского интерфейса, но вот некоторые другие подходы для навигации по собственному пользовательскому интерфейсу и отображения экземпляра WebView2, который вы автоматируете:
- Драйвер приложений Windows (WinAppDriver) — это служба для поддержки автоматизации тестов пользовательского интерфейса, подобной Selenium, в приложениях Windows. Эта служба поддерживает тестирование приложений универсальная платформа Windows (UWP), Windows Forms (WinForms), Windows Presentation Foundation (WPF) и классических приложений windows (Win32) на Windows 10 компьютерах.
- Использование автоматизации собственного пользовательского интерфейса Майкрософт напрямую. Платформа Microsoft модель автоматизации пользовательского интерфейса позволяет скриптам автоматического тестирования взаимодействовать с пользовательским интерфейсом. Microsoft модель автоматизации пользовательского интерфейса позволяет приложениям Windows предоставлять и использовать программную информацию о пользовательских интерфейсах. Он предоставляет программный доступ к большинству элементов пользовательского интерфейса на рабочем столе. Она позволяет продуктам со специальными возможностями, таким как средства чтения с экрана, предоставлять сведения об пользовательском интерфейсе конечным пользователям и управлять пользовательским интерфейсом с помощью стандартных входных данных и средств, отличных от стандартных входных данных.
- Используйте флаг, например параметр командной строки или переменную среды, чтобы сообщить приложению о запуске непосредственно в экземпляр WebView2, чтобы избежать необходимости перехода по собственному пользовательскому интерфейсу. В зависимости от сценария это может позволить использовать подход запуска, описанный в разделе Шаг 4a. Разрешение Microsoft Edge WebDriver запускать приложение WebView2.
Помимо активации экземпляра WebView2 необходимо задать его --remote-debugging-port параметр командной строки. Мы сделаем это на следующих шагах. Microsoft Edge WebDriver будет использовать этот порт удаленной отладки для подключения к экземпляру WebView2.
Запуск приложения WebView2 с включенной удаленной отладкой
Следующий шаг происходит при написании кода приложения. Этот дополнительный параметр командной строки необходимо указать при создании экземпляра элемента управления WebView2. Включите удаленную отладку, как показано ниже.
- Настройте экземпляр WebView2 с дополнительным --remote-debugging-port= параметром командной строки, используя один из рекомендуемых подходов в Globals в Справочнике по C++ для Win32 WebView2. Выберите доступный номер порта для этого параметра.
- Запустите приложение. Способ запуска приложения зависит от того, какие другие собственные средства тестирования пользовательского интерфейса вы используете.
На этом этапе приложение запущено и задан его --remote-debugging-port параметр командной строки. Затем мы подключим Microsoft Edge WebDriver к запущенной версии приложения WebView2.
Присоединение Microsoft Edge WebDriver к запущенном приложению WebView2
- EdgeOptions.DebuggerAddress Используйте свойство , чтобы сообщить Microsoft Edge WebDriver о подключении к удаленному порту отладки, указанному ранее, вместо запуска нового приложения:
EdgeOptions eo = new EdgeOptions(); eo.UseWebView = true; eo.DebuggerAddress = "localhost:9222"; EdgeDriver e = new EdgeDriver(eo);
Выше localhost:9222 номер порта, указанный в этой строке, должен соответствовать номеру порта, выбранному при настройке --remote-debugging-port выше.
Дополнительные сведения о свойстве DebuggerAddress объекта см. в EdgeOptions разделе Объект EdgeOptions.
Для приложений UWP подключите Microsoft Edge WebDriver к WebView2 с помощью средств удаленной работы.
- Выполните действия, описанные в статье Удаленная отладка приложений UWP с помощью средств удаленной отладки для Microsoft Edge. Эта функция WebView2 в настоящее время поддерживается только в канале предварительной версии Canary Microsoft Edge. Задайте переменную WEBVIEW2_RELEASE_CHANNEL_PREFERENCE=1 среды , чтобы убедиться, что версия WebView2 является Canary. Дополнительные сведения см. в статье Использование переменной среды в статье Тестирование предстоящих API и функций.

- После запуска приложения UWP WebView2 перейдите на страницу http:///msedge . Например, на следующем снимку экрана показано localhost:50080/msedge :

- browserProcessId Обратите внимание на для процесса WebView2, к которому требуется подключить Microsoft Edge WebDriver. Например, на приведенном выше снимку экрана отображается browserProcessId как 47860 .
- В коде wdpAddress и используйте свойства и wdpProcessId , чтобы сообщить Microsoft Edge WebDriver о подключении к средствам удаленной работы для Microsoft Edge и конкретному процессу WebView2.
- wdpAddress определяется как URL-адрес портала устройств.
- wdpProcessId определяется как browserProcessId значение, указанное на предыдущем шаге:
EdgeOptions eo = new EdgeOptions(); eo.AddAdditionalEdgeOption("wdpAddress", "localhost:50080"); eo.AddAdditionalEdgeOption("wdpProcessId", 47860); // Optional user name and password to use when connecting to a Windows Device Portal // server. Required if the server has authentication enabled. // eo.AddAdditionalEdgeOption("wdpUsername", "username"); // eo.AddAdditionalEdgeOption("wdpPassword", "password"); EdgeDriver e = new EdgeDriver(eo);
Поздравляем! Вы успешно подключили Microsoft Edge WebDriver к работающему приложению WebView2.
Проекты И отладка UWP
Чтобы настроить параметры отладки при запуске, необходимо использовать реестр для включения отладки для всех процессов WebView2 при запуске. Из-за способа запуска проектов UWP элементу управления WebDriver2 не удается автоматически настроить параметры отладки при запуске. Обратите внимание, что установка этого раздела реестра обеспечивает поддержку отладки для всех запущенных процессов WebView2 при настройке этой переменной среды.
Параметры можно переопределить значениями, указанными в разделе реестра WEBVIEW2_ADDITIONAL_BROWSER_ARGUMENTS. Сведения о разделе реестра WEBVIEW2_ADDITIONAL_BROWSER_ARGUMENTS (и эквивалентной переменной среды) см. в статье CreateCoreWebView2EnvironmentWithOptions in Globals. Раздел реестра WEBVIEW2_ADDITIONAL_BROWSER_ARGUMENTS (который также является именем переменной среды) позволяет добавлять в аргументы командной строки, которые будут переданы в процесс браузера WebView2 Runtime при его запуске.
См. также
- Документация по WebDriver на Selenium . Как API Selenium управляет WebView2 или Microsoft Edge.
- Общие сведения о Microsoft Edge WebView2 . Использование элемента управления WebView2 для внедрения веб-содержимого в собственное приложение.
- Использование WebDriver для автоматизации тестирования — автоматизация Microsoft Edge.
Can I install selenium webdriver into Visual Studio Code?
I would like to start writing some selenium scripts using Visual Studio Code. Can I install the webdriver(s) and how? In the demonstration video's that I have seen Visual Studio was used, not VSC. Please guide me since I am not familiar with the VSC editor.
asked Jun 7, 2018 at 12:51
Patrick Kwinten Patrick Kwinten
2,000 2 2 gold badges 14 14 silver badges 26 26 bronze badges
Sep 18, 2018 at 21:46
3 Answers 3
Yes you can. Step 1: Open the VS Code and Install the Nuget Package Manager using the VS code extension (Ctrl+Shift+X)
Step 2: Then go to the Command Pallette of VS Code(Ctrl+Shift+P), Search for Nuget Package Manager : Add Package and then Search for Selenium.Webdriver
You can read more about it here
answered Nov 12, 2018 at 14:15
Automation Curry Puff Automation Curry Puff
352 3 3 silver badges 13 13 bronze badges
Re "Install the Nuget Package Manager" there are at least 6 NPM (with and w/o GUI) in Extensions: Marketplace from different authors here. Which one is the "official" or recommended one?
Jun 13 at 15:59
For the entry-level selenium automation tester, there are some issues and errors to run the java selenium program on a Linux system. So if you are creating a normal java project on selenium:
- Step 1: Download and set a path for java
- Step 2: Must use vs code insider
- Step 3: Install Java Extension Pack for Visual Studio Code
- Step 4: Create a new standalone Java project => click “Create Java Project”[if not available Click Ctrl+Shift+P search: Create Java Project] => select standalone (no build tools) => name the project => a new vs Code window will be created with the new project; the new project will have a lib and src folder, “Hello World” java file, and a Readme
- Step 5: Download Selenium Webdriver =>Download the latest stable Selenium Web Driver for Java – this will be a zip file: (e.g. selenium-java-3.141.59.zip) =>unzip the file and there will be multiple jar files – it’s important to add ALL the jar files to the project’s dependencies => we need client-combined-3.141.59.jar for compiling our Selenium code => we need the rest of the jars for running Selenium
- Step 6: Add jar files =>add all 7 jars to the project by clicking the “+” next to Referenced Libraries (on downside java project on referenced libraries )
- Step 7: Setting up ChromeDriver =>Download The ChromeDriver major version has to match your Chrome version. =>unzip ChromeDriver zip and move it to a central folder that will be referenced by multiple projects (For Linux no need to give path)
- Step 8: On the downside on Java Project "|->" click to Export jar Now your setup is ready to run
Как установить библиотеку "Selenium"?
Как правильно установить библиотеку "Selenium" в C# для Visual Studio? Пытался установить сам, по старым видео урокам, но не получилось.
Отслеживать
3,732 2 2 золотых знака 16 16 серебряных знаков 40 40 бронзовых знаков
задан 10 апр 2018 в 5:33
Лаврик Кан Лаврик Кан
169 1 1 серебряный знак 13 13 бронзовых знаков
1 ответ 1
Сортировка: Сброс на вариант по умолчанию
Install-Package Selenium.WebDriver
P.S. Я так понимаю NuGet еще не пользовались ни разу. ОК. Там очень много всего - так что возьмите на карандаш. Есть несколько способов поставить пакет из нюгет. Первый - как в комментариях, в обозревателе решений (это где дерево файлов и папок проекта) ищем пункт Ссылки (Reference) - щелкаем правой кнопкой и выбираем Управление пакетами NuGet - там в поиске находим нужную библиотеку по названию.
Тот же эффект - идем в главное меню студии находим пункт Средства -> Диспетчер пакетов NuGet -> Управление пакетами NuGet для решения .
И третий способ через консоль. Опять идем Средства -> Диспетчер пакетов NuGet только там выбираем Консоль диспетчера пакетов . Обычно она открывается внизу, там можно вбивать комманды которые вы находите на сайте nuget или просто на просторах интернета:
Install-Package [PackageName]
Пакет проверяет все условия и если они подходят - скачивает либу и добавляет ее в ссылки. Всё - можно пользоваться.
How to set up Selenium on Visual Studio
Visual Studio is an IDE developed by Microsoft. Its popularity comes from offering unique features such as cloud connectivity, supported extensions, easy debugging, collaboration, deployment, and version control integration, among others. Visual Studio is available for both Windows and Mac. It can be used for mobile, web, cloud, desktop applications, and gaming application development.
Visual Studio is available in both Free and Paid versions. The free version comes with basic features, whereas the paid version comes with enterprise features.
Note: Do not confuse Visual Studio with Visual Studio Code. Visual Studio is a complete IDE, and Visual Studio Code is an editor.
Table of Contents
Benefits of Visual Studio
- Easy to Install: Visual studio is easy to install. It comes with a platform-specific installer. Simply follow the on-screen instructions during installation.
- Easy to Set up: Visual Studio comes with default templates. To create a new project, a user can choose from many available templates. The IDE will do the basic configuration to get it ready for usage.
- Extendable: Visual Studio supports thousands of extensions. Just hook into the IDE and customize them.
- IntelliSense: Visual Studio supports modern IntelliSense for many languages, which makes coding easier.
- Version Control: Users can integrate version control tools like Git and easily manage them.
- Live Share Support: Users can share their code in real-time which facilitates collaboration.
- Testing: Visual Studio makes Test Driven Development easier with its built-in testing tools. Users can write unit and integration tests quickly.
Note: To integrate the BDD framework into Selenium tests, integrate with SpecFlow.
- Cloud Support: Integrate this IDE with cloud providers such as Azure, making development and deployment more straightforward and faster.
- Developer Friendly: Visual Studio offers various features for development such as easy refactoring, code clean up, etc.
Setting up Selenium and Visual Studio
Selenium is the most popular end-to-end automation testing tool in existence. It supports the most popular programming languages – C#, Java, Python, JavaScript, and many more.
Read More : Selenium WebDriver Tutorial: Getting Started with Test Automation
To set up Selenium C# with Visual Studio, just follow the steps below:
- Install Visual Studio
- Create NUnit Project
- Add Selenium libraries
Install Visual Studio
Step 1: Navigate to Visual Studio Download Webpage and download the installer.
Note: The community edition is free. If someone has already paid for the license, they can install Visual Studio Professional or Enterprise Edition.
Step 2: Start the installer and choose the desired option. For Selenium users, C# Test, the Asp.Net, and web development should be good enough.

Step 3: Wait for the installation to finish. The program may ask the user to restart the system.
Step 4: After restart, choose the desired theme. After this, Visual Studio will begin its first time setup.
Create New Project
C#, Selenium, and NUnit comprise the most used combination for end-to-end automation tests.

Step 1: Click on Create new Project.
Note: On the Start Screen of Visual Studio, create a new project by navigating menu File > New > Project.
Step 2: Click on Create NUnit Project, which emerges from the Create New Project pop-up. Look for NUnit Project with .Net Core . Click on Next.

Step 3: Configure your project. Specify project name, location, and solution name. Click Next to Continue.

Step 4: Choose the latest version of Target Framework. In this case, it’s .Net Core 5.0 . Select that and click on Create .

The project setup is complete.
Add Selenium Libraries and Drivers
Having created the C# and NUnit Project, users need to add Selenium libraries and browser-specific drivers for End to End testing automation.
Step 1: Add Selenium Webdriver NuGget package.
From the Visual Studio Tools menu, navigate to NuGet package manager and then click on Manage NuGet Packages for Solution.
The NuGet Solution Window opens up.
Step 2: Install Selenium Webdriver for the Project.
In the Nuget Solution window , search for and choose Selenium Webdriver package. Click on Install .
Note: This NuGet Package may ask for license Acceptance. Read and Accept the License Agreement to proceed .

Step 3: Install Selenium Support Package.
Like Step 2, search for Selenium Support and Install Selenium. Support Package for the project.
Step 4: Create a new folder from inside the project. Name folder as “ drivers .”

Step 5: Download the Selenium Browser-specific drivers. To execute Selenium end-to-end tests on the browser, download browser-specific drivers .
- Chrome drivers can be downloaded from here. The Firefox driver (called Gecko driver) can be downloaded from here .
Step 6: Copy the downloaded driver .exe file into the newly created drivers folder.

After completion of all the above steps, the project configuration looks as below:

You are all set to write your first tests with Selenium and Visual Studio.
Read More : Page Object Model and Page Factory in Selenium C#
Selenium C# Automation Best Practices
- Use Page Object Model: The page object model (POM) is a popular design pattern for Selenium end-to-end tests. In this pattern, a separate class file will be created based on the web page or page component and utilized inside the test methods.
- Avoid Assertions in Page Object: Do not use any assertions (Assert) inside the page object.
- Create a Top-level class for Setup and Teardown: Create a Base class for commonly used operations across tests like creating driver instance, teardown, etc. Utilize that base class inside tests.
- Create Utility Classes: To use the same functions/methods for multiple tests, separate them and create them as utility classes. This helps avoid duplicate code.
- Create Independent Tests: Do not write test cases dependent on one another. Independent tests help with parallelization, faster execution, and debugging.
- Do not make test files complex: When creating test files, don’t create files with thousands of lines of code. Split them into smaller chunks which increases readability.
- Do not use Thread.Sleep() : Don’t use Thread.Sleep(). Use Implicit wait and Explicit wait instead. This will speed up test execution.
- Avoid using Xpath Locator: There exist many locators available apart from XPath like Id, Name, LinkText, PartialLinkText, TagName, ClassName, CSSSelector. An intelligent locator strategy makes test maintenance easier.
- Integrate with CI/CD Pipeline : It is always recommended to integrate an automation framework with CI/CD tools like Jenkins, Azure DevOps, etc., which makes your testing more manageable and on time.
- Reporters: To share test reports with stakeholders, have reporting tools integrated into Selenium tests.
Bear in mind that Selenium WebDriver tests must be executed on real devices and browsers. Remember that device fragmentation is a significant concern for every developer and tester. Every website has to work seamlessly on multiple device-browser-OS combinations. With 9000+ distinct devices being used to access the internet globally, all software has to be optimized for different configurations, viewports, and screen resolutions.
In this state, no emulator or simulator can replicate real user conditions . Software needs to be tested on real devices to work in real-world circumstances such as a low battery, incoming calls, weak network strength, and so on. If an in-house lab is not accessible, opt for a cloud-based testing option that offers real devices.
BrowserStack’s cloud Selenium grid offers 3000+ real devices and browsers for automated testing. That means users can run tests on multiple real devices and browsers by simply signing up, logging in, and selecting the required combinations. Testers can also conduct Cypress testing on 30+ real browser versions across Windows and macOS. Detects bugs before users do by testing software in real user conditions with BrowserStack.
