Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions .idea/encodings.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

35 changes: 34 additions & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -13,5 +13,38 @@
<maven.compiler.target>17</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>

<dependencies>
<!-- https://mvnrepository.com/artifact/org.testng/testng -->
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>7.10.2</version>
<scope>test</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/com.codeborne/selenide -->
<dependency>
<groupId>com.codeborne</groupId>
<artifactId>selenide</artifactId>
<version>7.5.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/io.qameta.allure/allure-testng -->
<dependency>
<groupId>io.qameta.allure</groupId>
<artifactId>allure-testng</artifactId>
<version>2.29.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-simple -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>2.0.16</version>
<scope>test</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-api -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>2.0.16</version>
</dependency>
</dependencies>
</project>
8 changes: 0 additions & 8 deletions src/main/java/org/example/Main.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,6 @@
// click the <icon src="AllIcons.Actions.Execute"/> icon in the gutter.
public class Main {
public static void main(String[] args) {
//TIP Press <shortcut actionId="ShowIntentionActions"/> with your caret at the highlighted text
// to see how IntelliJ IDEA suggests fixing it.
System.out.printf("Hello and welcome!");

for (int i = 1; i <= 5; i++) {
//TIP Press <shortcut actionId="Debug"/> to start debugging your code. We have set one <icon src="AllIcons.Debugger.Db_set_breakpoint"/> breakpoint
// for you, but you can always add more by pressing <shortcut actionId="ToggleLineBreakpoint"/>.
System.out.println("i = " + i);
}
}
}
38 changes: 38 additions & 0 deletions src/main/resources/testng.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="suite" parallel = "false">
<test name="test n1 fail">
<classes>
<class name="ExampleTestNG">
<parameter name="name" value="joja"/>
<parameter name="lastName" value="jojalast"/>
<parameter name="pas" value="123"/>
<parameter name="num" value="210"></parameter>
</class>
</classes>
</test>

<test name="test n2 fail">
<parameter name="name" value="VOVCHIK2005"/>
<parameter name="pas" value="CoolPass"/>
<parameter name="num" value="-21"/>
<classes>
<class name="ExampleTestNG"/>
</classes>
</test>

<test name="test n3 all success">
<classes>
<class name="ExampleTestNG">
<parameter name="name" value="VOVCHIK2005"/>
<parameter name="pas" value="CoolPass"/>
<parameter name="num" value="21"/>
<methods>
<exclude name="personsCheckFromDataProvider"/>
</methods>
</class>
<class name="ExampleSelenide"/>
<class name="ExampleSLF4J"/>
</classes>
</test>
</suite>
28 changes: 28 additions & 0 deletions src/test/java/ExampleSLF4J.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.testng.annotations.Test;

public class ExampleSLF4J {
private static Logger logger = LoggerFactory.getLogger(ExampleSLF4J.class);

@Test
public void sendTrace() {
logger.trace("Пробрасываем тросы для мостов");
}
@Test
public void sendInfo() {
logger.info("Тросы проброшены");
}
@Test
public void sendDebug() {
logger.debug("Пробросили тросы в с помощью каната)");
}
@Test
public void sendWarning() {
logger.warn("Тросы могут упасть");
}
@Test
public void sendError(){
logger.error("Тросы падают вверх!!!");
}
}
34 changes: 34 additions & 0 deletions src/test/java/ExampleSelenide.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
import com.codeborne.selenide.Selenide;
import org.slf4j.helpers.Slf4jEnvUtil;
import org.testng.Assert;
import com.codeborne.selenide.Condition;
import org.openqa.selenium.By;
import org.testng.annotations.Test;

public class ExampleSelenide {
@Test
public void simbirsoftFeedBack(){
Selenide.open("https://www.simbirsoft.com/");
Selenide.$(By.cssSelector("a[class=\"gh-tools-feedback write-to-us\"]"))
.shouldBe(Condition.visible)
.click();
}

/**
* Заходим на сайт https://www.planetminecraft.com
* наводимся на выпадающее меню Minecraft
* нажимаем на кнопку Servers, которая добавляет к текущей ссылке /servers/
* проверяем соответствие ссылки с https://www.planetminecraft.com/servers/
*/
@Test
public void planetMCMenu(){
Selenide.open("https://www.planetminecraft.com");
Selenide.$(By.xpath("//a [@class='nav_dropdown' and @id='menu_resources']"))
.hover();
Selenide.$(By.xpath("//a[@data-id = 'servers/' and @title='Minecraft Servers']"))
.shouldBe(Condition.visible)
.click();
Assert.assertEquals(Selenide.webdriver().driver().url(),"https://www.planetminecraft.com/servers/"
,"открылся не https://www.planetminecraft.com/servers/");
}
}
68 changes: 68 additions & 0 deletions src/test/java/ExampleTestNG.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
import org.testng.Assert;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Parameters;
import org.testng.annotations.Test;
import org.testng.asserts.SoftAssert;


public class ExampleTestNG {
//suite
// group
// test
// class
// method

/**
* Простейший пример
*/
@Test
public void testCalc(){
Assert.assertEquals(2+2,4,"Two plus two is FOUR!");
}

/**
* Проверка функции Math.pow()
* @param base число, которое возводится в степень
*/
@Test
@Parameters({"num"})
public void testMathPow2(double base){
Assert.assertEquals(Math.pow(base,2),base*base);
}

/**
* Проверка имени и пароля
* @param name имя
* @param pas пароль
*/
@Test(description = "Check name and password")
@Parameters({"name","pas"})
public void testLogin(String name, String pas){
SoftAssert softAssert = new SoftAssert();
softAssert.assertEquals(name, "VOVCHIK2005", "Login name incorrect");
softAssert.assertEquals(pas, "CoolPass", "Login pas incorrect");
softAssert.assertAll();
}

/**
* Проверка персон по их имени и фамилии
* @param personName имя персоны
* @param personLastName фамилия персоны
*/
@Test(dataProvider="persons")
public void personsCheckFromDataProvider(String personName, String personLastName){
SoftAssert softAssert = new SoftAssert();
softAssert.assertEquals(personName.matches("[PVS].+[a-z[A-Z]]"), true);
softAssert.assertEquals(personLastName.matches("[PBK].+in"), true);
softAssert.assertAll();
}
@DataProvider(name = "persons")
public static Object[][] allPersons(){
return new Object[][]{
{"Petya","Pushin"},
{"Vanya","Bashin"},
{"Olga","Balka"},
{"Semen","Kavkin"}
};
}
}