C#
This commit is contained in:
65
MSTest_VSCode/MyTestProject/README.md
Normal file
65
MSTest_VSCode/MyTestProject/README.md
Normal file
@ -0,0 +1,65 @@
|
||||
**Nainstalovat do PC:**
|
||||
|
||||
.NET 7.0 nebo 6.0 s dlouhou podporou
|
||||
|
||||
Visual Studio Code
|
||||
|
||||
nebo
|
||||
|
||||
Visual Studio 2022 - pouze WIN a MacOS
|
||||
|
||||
|
||||
|
||||
**Potřebná rozšíření ve VS Code:**
|
||||
|
||||
.NET Extension Pack
|
||||
|
||||
C#
|
||||
|
||||
Nuget Package Manager
|
||||
|
||||
|
||||
|
||||
**Postup vs code:**
|
||||
|
||||
|
||||
Založení nového projektu ve Visual Studio Code:
|
||||
|
||||
dotnet new mstest -n MyTestProject
|
||||
|
||||
|
||||
**Stažení Selenia** (stahne potřebý základ): v terminálu musíme do složky projektu co vytvořila dotnet new mstest
|
||||
|
||||
dotnet add package Selenium.WebDriver
|
||||
|
||||
**Test se spustí:**
|
||||
|
||||
dotnet test
|
||||
|
||||
nebo za pomocí
|
||||
|
||||
dotnet watch který sám automaticky sleduje změny v kódu a je schopný spustit testy
|
||||
|
||||
Tento návod funguje jak pod Linux (odzkoušené v distribucích EndeavorOS, Ubuntu 22.04), MacOS, Windows 11.
|
||||
|
||||
Z důvodu kompaktibility jseou je na GitHub pouze samotný kód testu. Ostatní soubory a složky se vytvoří po založení projektu.
|
||||
|
||||
Složka TestResults také není součásti verze GitHub.
|
||||
|
||||
|
||||
**Hints:**
|
||||
|
||||
klik na tlačítko
|
||||
|
||||
IWebElement tlačítko<nastavení proměnné> = driver.FindElement(By.Id("xPath tlačítka"));
|
||||
tlačítko.Click();
|
||||
|
||||
|
||||
|
||||
expectedTitle = "O mně - Lukáš bloguje";
|
||||
|
||||
actualTitle = driver.Title;
|
||||
|
||||
Assert.AreEqual(expectedTitle, actualTitle, "Title does not match");
|
||||
|
||||
|
104
MSTest_VSCode/MyTestProject/UnitTest1.cs
Normal file
104
MSTest_VSCode/MyTestProject/UnitTest1.cs
Normal file
@ -0,0 +1,104 @@
|
||||
using OpenQA.Selenium;
|
||||
|
||||
using OpenQA.Selenium.Chrome;
|
||||
|
||||
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
||||
|
||||
using System;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
namespace MyTestProject;
|
||||
|
||||
|
||||
|
||||
[TestClass]
|
||||
|
||||
public class UnitTest1
|
||||
|
||||
{
|
||||
|
||||
String test_url = "https://lukan.cz/";
|
||||
|
||||
|
||||
|
||||
String itemName = "Lukáš Bloguje";
|
||||
|
||||
|
||||
|
||||
[TestMethod]
|
||||
|
||||
public void TestMethod1()
|
||||
|
||||
{
|
||||
|
||||
IWebDriver driver;
|
||||
|
||||
|
||||
|
||||
// Local Selenium WebDriver
|
||||
|
||||
|
||||
|
||||
driver = new ChromeDriver();
|
||||
|
||||
driver.Manage().Window.Maximize();
|
||||
|
||||
driver.Navigate().GoToUrl(test_url);
|
||||
|
||||
driver.Manage().Window.Maximize();
|
||||
|
||||
|
||||
// Kontrola titulku
|
||||
string expectedTitle = "Lukáš bloguje - Blog o všem možném i nemožném";
|
||||
|
||||
string actualTitle = driver.Title;
|
||||
|
||||
Assert.AreEqual(expectedTitle, actualTitle, "Title does not match");
|
||||
|
||||
|
||||
|
||||
|
||||
// Clikne na tlačítko
|
||||
|
||||
IWebElement Button_O_mne = driver.FindElement(By.Id("menu-item-79"));
|
||||
|
||||
Button_O_mne.Click();
|
||||
|
||||
// Kontrola titulku
|
||||
expectedTitle = "O mně - Lukáš bloguje";
|
||||
|
||||
actualTitle = driver.Title;
|
||||
|
||||
Assert.AreEqual(expectedTitle, actualTitle, "Title does not match");
|
||||
|
||||
// Vrátí žpět na hlavní stranu
|
||||
|
||||
IWebElement Button_Hlavni_strana = driver.FindElement(By.Id("menu-item-75"));
|
||||
|
||||
Button_Hlavni_strana.Click();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// Počká tři sekundy na další akci
|
||||
|
||||
Thread.Sleep(3000);
|
||||
|
||||
|
||||
|
||||
Console.Write("Dotestováno");
|
||||
|
||||
|
||||
|
||||
// zavře prohlížeč
|
||||
|
||||
driver.Quit();
|
||||
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user