Selenium C# Урок с пример за NUnit
Selenium Overview
Selenium е уеб с отворен код Тестване на автоматизацията инструмент, който поддържа множество браузъри и множество операционни системи. Той позволява на тестерите да използват множество езици за програмиране, като напр Java, C#, Python, .Net, Ruby, PHP и Perl за кодиране на автоматизирани тестове.
Общ преглед на C#
C# е обектно-ориентиран език за програмиране, извлечен от C++ намлява Java. C# позволява на разработчиците да създават приложения с помощта на Visual Studio на .Net платформа. По-долу са основните характеристики на C#.
- Това е обектно-ориентиран език за програмиране
- Поддържа разработката на конзола, Windows и уеб базирани приложения
- Той предоставя функции като капсулиране, наследяване и полиморфизъм.
Основен синтаксис на C#
Една програма на C# трябва да съдържа следните секции
- Декларация на пространство от имена
- Класове
- Атрибути и методи на класа
- Основен метод
- Програмни изявления
Example-
По-долу има пример Selenium C# примерна програма за отпечатване на текста „Guru99“ на системната конзола.
using System;
namespace FirstProgram {
class DemoPrint {
static void main(){
Console.WriteLine("Guru99");
}
}
}
Обяснение:
- Пространство от имена в горното Selenium Примерът за C# е колекция от множество класове. Всяко пространство от имена трябва да бъде декларирано с помощта на ключовата дума 'using'.
- Първият израз на кода включва пространството от имена „System“ в нашата програма. Системното пространство от имена дефинира основните класове и събития, използвани в C#. Пространството от имена, което ще се използва, зависи от изискването на програмата.
- Вторият оператор декларира пространство от имена „FirstProgram“ за класа „DemoPrint“. Файлът AC# може да съдържа множество класове в едно и също пространство от имена.
- Третият оператор включва декларацията на класа. Един клас може да съдържа множество атрибути и множество методи.
- Четвъртият оператор включва декларация на метода Main. Основният метод е входната точка на изпълнение за всеки клас.
- Последният израз е синтаксисът на C#, използван за отпечатване на израз в конзолата. WriteLine е метод на класа „Конзола.
Selenium с настройка на C#
Как да настроите Visual Studio с Selenium Уебдрайвер:
Сега в това Selenium C# урок, нека научим стъпка по стъпка процеса за настройка на Visual Studio Selenium Уебдрайвер:
Visual Studio е интегрирана среда за разработка (IDE), която се използва от разработчиците за изграждане на приложения в множество платформи, като Windows, Android, iOS и базирани на облак приложения.
Стъпка 1) Отидете до URL адреса
https://visualstudio.microsoft.com/downloads/ и щракнете върху „Безплатно изтегляне“ бутон, показан в раздела общност на Visual Studio
Стъпка 2) Отворете изтегления exe. Кликнете върху „Да“, ако бъдете попитани за права на администратор.
Стъпка 3) Ще се появи изскачащият прозорец по-долу. Кликнете върху бутона „Продължи“.
Файловете ще бъдат изтеглени, както е показано в изскачащия прозорец по-долу.
Стъпка 4) В следващия екран,
Поставете отметки в квадратчетата за
- Универсален Windows Разработване на платформа
- .Net десктоп разработка
Кликнете върху „Инсталиране“.
Изчакайте инсталирането на всеки компонент да завърши. Файловете са с размер 16 GB и отнемат време.
Стъпка 5) Ще се покаже изскачащият прозорец по-долу. Кликнете върху бутона „Рестартиране“.
Стъпка 6) След като машината се рестартира, потърсете „Visual Studio“ в стартовото меню и щракнете върху резултата от търсенето. Ще се появи следният изскачащ прозорец. Кликнете върху връзката „Не сега, може би по-късно“, ако нямате съществуващ акаунт.
Стъпка 7) В следващия екран,
- Изберете цветова тема по ваш вкус
- Щракнете върху бутона „Стартиране на Visual Studio“
Стъпка 8) Ще се появи екранът „Първи стъпки“ на Visual Studio.
Създайте нов проект в Visual Studio:
Стъпка 1) В менюто Файл щракнете върху Нов > Проект
Стъпка 2) В следващия екран,
- Изберете опцията „Visual C#“
- Кликнете върху Конзолно приложение (.Net Framework)
- Въведете име като „Guru99“
- натиснете ОК
Стъпка 3) Екранът по-долу ще се покаже, след като проектът бъде създаден успешно.
Настройте Visual Studio с Selenium Уебдрайвер:
Стъпка 1) Отидете до Инструменти -> NuGet Диспечер на пакети -> Управление на NuGet Пакети за решение
Стъпка 2) В следващия екран
- Търсене за Selenium на получения екран
- Изберете първия резултат от търсенето
- Поставете отметка в квадратчето за проекта
- Кликнете върху „Инсталиране“
Стъпка 3) Кликнете върху бутона „OK“ в изскачащия екран
Стъпка 4) След успешното инсталиране на пакета ще се покаже съобщението по-долу.
NUnit Framework: Общ преглед
NUnit е Единично тестване рамка, поддържана от Visual Studio и Selenium Уебдрайвер. NUnit е най-широко използваната рамка за модулно тестване за .Net приложения. NUnit представя резултатите от теста в четим формат и позволява на тестер да отстранява грешки в автоматизираните тестове.
Трябва да инсталираме NUnit Framework и NUnit Test Adapter на Visual Studio, за да го използваме.
Стъпки за инсталиране на NUnit Framework
Сега в това Selenium с C# урок, нека научим процеса за инсталиране на NUnit framework:
Стъпка 1) Отидете до Инструменти -> NuGet Диспечер на пакети -> Управление на NuGet Пакети за решение
Стъпка 2) В следващия прозорец
- Търсете NUnit
- Изберете резултата от търсенето
- Изберете Проект
- Кликнете върху Инсталиране
Стъпка 3) Ще се появи изскачащият прозорец по-долу. Кликнете върху бутона "Ok".
Стъпка 4) Съобщението по-долу ще се появи, след като инсталацията приключи.
Стъпки за изтегляне на NUnit Test Adapter
Сега в този урок за NUnit ще разгледаме стъпките за изтегляне на NUnit Test Adapter:
Моля, обърнете внимание, че стъпките по-долу работят само за 32-битови машини. За 64-битови машини трябва да изтеглите „NUnit3 Test Adapter“, като следвате същия процес, както е посочено по-долу.
Стъпка 1) Отидете до Инструменти -> NuGet Диспечер на пакети -> Управление на NuGet Пакети за решение. В този екран,
- Търсете NUnitTestAdapter
- Щракнете върху Резултат от търсенето
- Изберете Проект
- Кликнете върху Инсталиране
Стъпка 2) Щракнете върху OK в изскачащия прозорец за потвърждение. След като инсталацията приключи, ще видите следното съобщение-
Selenium и NUnit рамка
Интегрирането на селен с рамката на NUnit позволява на тестера да прави разлика между различни тестови класове. NUnit също така позволява на тестерите да използват анотации като SetUp, Test и TearDown, за да извършват действия преди и след изпълнение на теста.
NUnit framework може да бъде интегриран с Selenium чрез създаване на NUnit тестов клас и стартиране на тестовия клас с помощта на NUnit framework.
По-долу стъпките в това Selenium Урокът за C# framework е необходим за създаване и изпълнение на тестов клас с помощта на NUnit framework.
Стъпки за създаване на тестов клас NUnit в Selenium:
Стъпка 1) В Solution Explorer щракнете с десния бутон върху проект > Добавяне > Клас
Стъпка 2) Ще се появи прозорец за създаване на клас.
- Дайте име на класа
- Кликнете върху бутона Добавяне
Стъпка 3) Ще се появи екранът по-долу.
Стъпка 4) Добавете следния код към създадения клас. Моля, обърнете внимание, че трябва да посочите местоположението на файла „chromdriver.exe“ по време на инициализацията на драйвера на Chrome.
using NUnit.Framework;
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
using OpenQA.Selenium.Firefox;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Guru99Demo
{
class Guru99Demo
{
IWebDriver driver;
[SetUp]
public void startBrowser()
{
driver = new ChromeDriver("D:\\3rdparty\\chrome");
}
[Test]
public void test()
{
driver.Url = "http://www.google.co.in";
}
[TearDown]
public void closeBrowser()
{
driver.Close();
}
}
}
Стъпка 4) Кликнете върху „Изграждане“ -> „Изграждане на решение“
ЗАБЕЛЕЖКА: Може да получите грешка като „Не съдържа статичен „основен“ метод, подходящ за входна точка“, когато изграждате
За да разрешите това, отидете на Project> Properties и променете Output Type на „Class Library“. По подразбиране е „Конзолно приложение“.
Стъпка 5) След като изграждането е успешно, трябва да отворим прозореца Test Explorer. Кликнете върху Тест -> Windows -> Test Explorer
Стъпка 6) Прозорецът на Test Explorer се отваря със списък с налични тестове. Щракнете с десния бутон върху Test Explorer и изберете Изпълнение на избрани тестове
Стъпка 7) Selenium трябва да отвори браузъра с посочения URL адрес и да затвори браузъра. Състоянието на тестовия случай ще бъде променено на „Успешно“ в прозореца на Test Explorer.
Selenium Команди на WebDriver в C#
C# използва интерфейса „IWebDriver“ за взаимодействие с браузъра. По-долу са категориите команди, налични с Selenium в C#.
- Команди за браузър
- Команди за уеб елементи
- Падащи команди
Сега в Selenium C Sharp урок, нека изучим Selenium WebDriver команди една по една
Команди на браузъра:
Следва списък с команди на браузъра, налични в C# с Selenium.
| Име на команда | Descriptйон | Синтаксис |
|---|---|---|
| Url команда | Тази команда се използва за отваряне на определен URL адрес в браузъра. |
driver.Url = "https://www.guru99.com" |
| Команда за заглавие | Тази команда се използва за извличане на заглавието на страницата, която е отворена в момента |
String title = driver.Title |
| Команда PageSource | Тази команда се използва за извличане на изходния код на уеб страница, която е отворена в момента. |
String pageSource = driver.PageSource |
| Команда за затваряне | Тази команда се използва за затваряне на наскоро отворения екземпляр на браузъра. |
driver.Close(); |
| Излезте от командата | Тази команда се използва за затваряне на всички отворени копия на браузъра |
driver.Quit(); |
| Назад Команда | Тази команда се използва за навигация до предишната страница от хронологията на браузъра. |
driver.Navigate().Back(); |
| Командване напред | Тази команда се използва за навигиране до следващата страница от хронологията на браузъра. |
driver.Navigate().Forward() |
| Команда за опресняване | Тази команда се използва за извършване на опресняване на браузъра. |
driver.Navigate().Refresh() |
Команди за Webelement
Webelement представлява всички елементи на уеб страница. Те са представени чрез HTML тагове. Всеки от бутоните, текстовите полета, връзките, изображенията, таблиците и рамките попадат в Webelements. Operaции върху уеб елементи могат да се задействат с помощта на интерфейса IWebelement. За да взаимодействаме с Webelement, трябва да намерим елемента на уеб страницата и след това да извършим операции върху него. Инструменти като Firebug и Firepath могат да се използват за идентифициране на Xpath на Webelement.
Следва списъкът с команди Webelement, налични в C#.
| Име на команда | Descriptйон | Синтаксис |
|---|---|---|
| Кликнете върху командата | Тази команда се използва за щракване върху Webelement. За да може върху елемента да се кликва, той трябва да е видим на уеб страницата. Тази команда се използва и за операции с квадратчета за отметка и бутони за избор. |
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); element.Click();
|
| Изчистване на командата | Тази команда се използва специално за изчистване на съществуващото съдържание на текстови полета. |
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement"));
element.Clear();
|
| Команда SendKeys | Тази команда се използва за въвеждане на стойност в текстови полета. Стойността, която трябва да бъде въведена, трябва да бъде предадена като параметър към |
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement"));
element.SendKeys("guru99");
|
| Показана команда | Тази команда се използва за идентифициране дали определен елемент се показва на уеб страницата. Тази команда връща булева стойност; true или false в зависимост от видимостта на уеб елемента. |
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement"));
Boolean status = element.Displayed;
|
| Разрешена команда | Тази команда се използва за идентифициране дали даден уеб елемент е активиран на уеб страницата. Тази команда връща булева стойност; вярно или невярно като резултат. |
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement"));
Boolean status = element.Enabled;
|
| Избрана команда | Тази команда се използва за идентифициране дали е избран определен уеб елемент. Тази команда се използва за квадратчета за отметка, радио бутони и операции за избор. |
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement"));
Boolean status = element.Selected;
|
| Изпращане на команда: | Тази команда е подобна на командата click. Разликата е в това дали HTML формулярът има бутон с типа Submit. Докато командата click кликва върху който и да е бутон, командата submit кликва само върху бутоните с тип submit. |
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); element.submit();
|
| Текстова команда | Тази команда връща вътрешния текст на Webelement. Тази команда връща стойност на низ като резултат. |
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement"));
String text=element.Text;
|
| Команда TagName | Тази команда връща HTML тага на уеб елемент. Той връща стойност на низ като резултат. |
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); String tagName = element.TagName;
|
| Команда GetCSSValue: | Този метод се използва за връщане на цвета на уеб елемент под формата на rgba низ (червен, зелен, син и алфа). |
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement"));
String color = element.getCSSValue;
Продукция– Ако цветът на елемента е червен, изходът ще бъде rgba(255,0,0,1) |
Падащи команди:
Операциите с падащо меню в C# могат да бъдат постигнати с помощта на класа SelectElement.
По-долу са различните операции с падащо меню, налични в C#.
| Име на команда | Descriptйон | Синтаксис |
|---|---|---|
| Команда SelectByText | Тази команда избира опция от падащо меню въз основа на текста на опцията. |
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement"));
SelectElement select = new SelectElement(element);
select.SelectByText("Guru99");
|
| Команда SelectByIndex | Тази команда се използва за избор на опция въз основа на нейния индекс. Индексът на падащото меню започва от 0. |
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement"));
SelectElement select = new SelectElement(element);
select.SelectByIndex("4");
|
| Команда SelectByValue | Тази команда се използва за избор на опция въз основа на нейната стойност на опцията. |
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement"));
SelectElement select = new SelectElement(element);
select.SelectByValue("Guru99");
|
| Команда за опции | Тази команда се използва за извличане на списъка с опции, показан в падащо меню. |
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement"));
SelectElement select = new SelectElement(element);
List<IWebelement> options = select. Options;
int size = options.Count;
for(int i=0;i<options.size();i++)
{
String value = size.elementAt(i).Text;
Console.writeLine(value);
}
Горният код отпечатва всички опции на конзолата в падащо меню. |
| Команда IsMultiple | Тази команда се използва за идентифициране дали падащото меню е падащо меню с множество избори; Падащото меню за множествен избор позволява на потребителя да избере повече от една опция в падащо меню наведнъж. Тази команда връща булева стойност. |
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement"));
SelectElement select = new SelectElement(element);
Boolean status = select.IsMultiple();
|
| Команда DeSelectAll | Тази команда се използва в падащи менюта с множество опции. Изчиства вече избраните опции. |
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement"));
SelectElement select = new SelectElement(element);
select.DeSelectAll();
|
| Команда DeSelectByIndex | Тази команда демаркира вече избрана стойност, като използва нейния индекс. |
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement"));
SelectElement select = new SelectElement(element);
select.DeSelectByIndex("4");
|
| Команда DeSelectByValue | Тази команда демаркира вече избрана стойност, използвайки нейната стойност. |
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement"));
SelectElement select = new SelectElement(element);
select.DeSelectByValue("Guru99");
|
| Команда DeSelectByText | Тази команда демаркира вече избрана стойност, използвайки нейния текст. |
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement"));
SelectElement select = new SelectElement(element);
select.DeSelectByText("Guru99");
|
Примерни кодове
Пример 1: Щракнете върху връзка с помощта на XPATH Locator:
Тестов сценарий:
- Отидете до уеб страницата на Demo Guru99 – https://demo.guru99.com/test/guru99home/
- Увеличете максимално прозореца
- Кликнете върху менюто „Тестване“.
- Затворете браузъра
using NUnit.Framework;
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Guru99Demo
{
class CSS
{
IWebDriver m_driver;
[Test]
public void cssDemo()
{
m_driver = new ChromeDriver("D:\\3rdparty\\chrome");
m_driver.Url = "https://demo.guru99.com/test/guru99home/";
m_driver.Manage().Window.Maximize();
IWebelement link = m_driver.FindElement(By.XPath(".//*[@id='rt-header']//div[2]/div/ul/li[2]/a"));
link.Click();
m_driver.Close();
}
}
}
Пример 2: Въвеждане на данни в текстBox и щракнете върху бутон, използвайки XPATH локатор:
Тестов сценарий:
- Отидете до демонстрационната страница на Guru 99 – https://demo.guru99.com/test/guru99home/
- Въведете данни в текстовото поле на имейла
- Кликнете върху бутона за регистрация
using NUnit.Framework;
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Guru99Demo
{
class CSS
{
IWebDriver m_driver;
[Test]
public void cssDemo()
{
m_driver = new ChromeDriver("G:\\");
m_driver.Url = "https://demo.guru99.com/test/guru99home/";
m_driver.Manage().Window.Maximize();
// Store locator values of email text box and sign up button
IWebElement emailTextBox = m_driver.FindElement(By.XPath(".//*[@id='philadelphia-field-email']"));
IWebElement signUpButton = m_driver.FindElement(By.XPath(".//*[@id='philadelphia-field-submit']"));
emailTextBox.SendKeys("test123@gmail.com");
signUpButton.Click();
}
}
}
Пример 3: Въвеждане на данни в текстBox и щракнете върху бутон с помощта на CSS локатор:
Тестов сценарий:
- Отидете до демонстрационната страница на Guru 99 – https://demo.guru99.com/test/guru99home/
- Въведете данни в текстовото поле на имейла
- Кликнете върху бутона за регистрация
using NUnit.Framework;
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Guru99Demo
{
class CSS
{
IWebDriver m_driver;
[Test]
public void cssDemo()
{
m_driver = new ChromeDriver("G:\\");
m_driver.Url = "https://demo.guru99.com/test/guru99home/";
m_driver.Manage().Window.Maximize();
// Store locator values of email text box and sign up button
IWebElement emailTextBox = m_driver.FindElement(By.CssSelector("input[id=philadelphia-field-email]"));
IWebElement signUpButton = m_driver.FindElement(By.CssSelector("input[id=philadelphia-field-submit]"));
emailTextBox.SendKeys("test123@gmail.com");
signUpButton.Click();
}
}
}
Пример 4: Изберете стойност от падащото меню:
Тестов сценарий:
- Отидете до демонстрационната страница на Guru 99 – https://demo.guru99.com/test/guru99home/
- Кликнете върху SAP връзка
- Въведете данни в текстовите полета за име и имейл
- Изберете стойност от падащото меню Курс
- Затворете браузъра
using NUnit.Framework;
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
using OpenQA.Selenium.Support.UI;
namespace Guru99Demo
{
class TestSelect
{
IWebDriver m_driver;
[Test]
public void selectDemo()
{
m_driver = new ChromeDriver("G:\\");
m_driver.Url = "https://demo.guru99.com/test/guru99home/";
m_driver.Manage().Window.Maximize();
IWebElement course = m_driver.FindElement(By.XPath(".//*[@id='awf_field-91977689']"));
var selectTest = new SelectElement(course);
// Select a value from the dropdown
selectTest.SelectByValue("sap-abap");
}
}
}
Oбобщение
- За да използвате Selenium WebDriver с C#, трябва да инсталирате Visual Studio.
- NUnit е рамката за тестване на единици, поддържана от Visual Studio и Selenium уеб драйвер
- Трябва да инсталираме NUnit Framework и NUnit Test Adapter на Visual Studio, за да го използваме.
- NUnit framework може да бъде интегриран с Selenium чрез създаване на NUnit тестов клас и стартиране на тестовия клас с помощта на NUnit framework.
- NUnit също така позволява на тестерите да използват анотации като SetUp, Test и TearDown, за да извършват действия преди и след изпълнение на теста.
- Selenium Командите на WebDriver могат да бъдат категоризирани в команди за браузър, команди за Webelement и команди за падащо меню.
































