series - elemn
This commit is contained in:
parent
a8f58c8ec4
commit
233f276f6f
38
BrowserStackJunit/.gitignore
vendored
Normal file
38
BrowserStackJunit/.gitignore
vendored
Normal file
@ -0,0 +1,38 @@
|
||||
target/
|
||||
!.mvn/wrapper/maven-wrapper.jar
|
||||
!**/src/main/**/target/
|
||||
!**/src/test/**/target/
|
||||
|
||||
### IntelliJ IDEA ###
|
||||
.idea/modules.xml
|
||||
.idea/jarRepositories.xml
|
||||
.idea/compiler.xml
|
||||
.idea/libraries/
|
||||
*.iws
|
||||
*.iml
|
||||
*.ipr
|
||||
|
||||
### Eclipse ###
|
||||
.apt_generated
|
||||
.classpath
|
||||
.factorypath
|
||||
.project
|
||||
.settings
|
||||
.springBeans
|
||||
.sts4-cache
|
||||
|
||||
### NetBeans ###
|
||||
/nbproject/private/
|
||||
/nbbuild/
|
||||
/dist/
|
||||
/nbdist/
|
||||
/.nb-gradle/
|
||||
build/
|
||||
!**/src/main/**/build/
|
||||
!**/src/test/**/build/
|
||||
|
||||
### VS Code ###
|
||||
.vscode/
|
||||
|
||||
### Mac OS ###
|
||||
.DS_Store
|
8
BrowserStackJunit/.idea/.gitignore
generated
vendored
Normal file
8
BrowserStackJunit/.idea/.gitignore
generated
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
# Default ignored files
|
||||
/shelf/
|
||||
/workspace.xml
|
||||
# Editor-based HTTP Client requests
|
||||
/httpRequests/
|
||||
# Datasource local storage ignored files
|
||||
/dataSources/
|
||||
/dataSources.local.xml
|
7
BrowserStackJunit/.idea/encodings.xml
generated
Normal file
7
BrowserStackJunit/.idea/encodings.xml
generated
Normal file
@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="Encoding">
|
||||
<file url="file://$PROJECT_DIR$/src/main/java" charset="UTF-8" />
|
||||
<file url="file://$PROJECT_DIR$/src/main/resources" charset="UTF-8" />
|
||||
</component>
|
||||
</project>
|
14
BrowserStackJunit/.idea/misc.xml
generated
Normal file
14
BrowserStackJunit/.idea/misc.xml
generated
Normal file
@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ExternalStorageConfigurationManager" enabled="true" />
|
||||
<component name="MavenProjectsManager">
|
||||
<option name="originalFiles">
|
||||
<list>
|
||||
<option value="$PROJECT_DIR$/pom.xml" />
|
||||
</list>
|
||||
</option>
|
||||
</component>
|
||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_X" default="true" project-jdk-name="20" project-jdk-type="JavaSDK">
|
||||
<output url="file://$PROJECT_DIR$/out" />
|
||||
</component>
|
||||
</project>
|
6
BrowserStackJunit/.idea/vcs.xml
generated
Normal file
6
BrowserStackJunit/.idea/vcs.xml
generated
Normal file
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="VcsDirectoryMappings">
|
||||
<mapping directory="$PROJECT_DIR$/.." vcs="Git" />
|
||||
</component>
|
||||
</project>
|
7
BrowserStackJunit/Readme.md
Normal file
7
BrowserStackJunit/Readme.md
Normal file
@ -0,0 +1,7 @@
|
||||
Install:
|
||||
|
||||
Maven build
|
||||
|
||||
Selenide: https://selenide.org/quick-start.html
|
||||
|
||||
Junit5: search Juni t5 --> install Hunit Jupiter API
|
37
BrowserStackJunit/pom.xml
Normal file
37
BrowserStackJunit/pom.xml
Normal file
@ -0,0 +1,37 @@
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>cz.kankys</groupId>
|
||||
<artifactId>BrowserStackSelenideJunitKiwi</artifactId>
|
||||
<version>1.0-SNAPSHOT</version>
|
||||
<name>Archetype - BrowserStackJunit</name>
|
||||
<url>http://maven.apache.org</url>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>com.codeborne</groupId>
|
||||
<artifactId>selenide</artifactId>
|
||||
<version>6.17.0</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<!-- https://mvnrepository.com/artifact/org.junit.jupiter/junit-jupiter-api -->
|
||||
<dependency>
|
||||
<groupId>org.junit.jupiter</groupId>
|
||||
<artifactId>junit-jupiter-api</artifactId>
|
||||
<version>5.10.0</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<version>3.11.0</version>
|
||||
<configuration>
|
||||
<source>20</source>
|
||||
<target>20</target>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</project>
|
@ -0,0 +1,9 @@
|
||||
<archetype>
|
||||
<id>BrowserStackJunit</id>
|
||||
<sources>
|
||||
<source>src/main/java/App.java</source>
|
||||
</sources>
|
||||
<testSources>
|
||||
<source>src/test/java/AppTest.java</source>
|
||||
</testSources>
|
||||
</archetype>
|
@ -0,0 +1,15 @@
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>$cz.kankys</groupId>
|
||||
<artifactId>$BrowserStackJunit</artifactId>
|
||||
<version>$1.0-SNAPSHOT</version>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>junit</groupId>
|
||||
<artifactId>junit</artifactId>
|
||||
<version>3.8.1</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</project>
|
@ -0,0 +1,13 @@
|
||||
package $cz.kankys;
|
||||
|
||||
/**
|
||||
* Hello world!
|
||||
*
|
||||
*/
|
||||
public class App
|
||||
{
|
||||
public static void main( String[] args )
|
||||
{
|
||||
System.out.println( "Hello World!" );
|
||||
}
|
||||
}
|
@ -0,0 +1,38 @@
|
||||
package $cz.kankys;
|
||||
|
||||
import junit.framework.Test;
|
||||
import junit.framework.TestCase;
|
||||
import junit.framework.TestSuite;
|
||||
|
||||
/**
|
||||
* Unit test for simple App.
|
||||
*/
|
||||
public class AppTest
|
||||
extends TestCase
|
||||
{
|
||||
/**
|
||||
* Create the test case
|
||||
*
|
||||
* @param testName name of the test case
|
||||
*/
|
||||
public AppTest( String testName )
|
||||
{
|
||||
super( testName );
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the suite of tests being tested
|
||||
*/
|
||||
public static Test suite()
|
||||
{
|
||||
return new TestSuite( AppTest.class );
|
||||
}
|
||||
|
||||
/**
|
||||
* Rigourous Test :-)
|
||||
*/
|
||||
public void testApp()
|
||||
{
|
||||
assertTrue( true );
|
||||
}
|
||||
}
|
30
BrowserStackJunit/src/test/java/tests/KiwiTest.java
Normal file
30
BrowserStackJunit/src/test/java/tests/KiwiTest.java
Normal file
@ -0,0 +1,30 @@
|
||||
package tests;
|
||||
|
||||
import com.codeborne.selenide.WebDriverRunner;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.openqa.selenium.Cookie;
|
||||
|
||||
import static com.codeborne.selenide.Selectors.byAttribute;
|
||||
import static com.codeborne.selenide.Selectors.byXpath;
|
||||
import static com.codeborne.selenide.Selenide.*;
|
||||
|
||||
public class KiwiTest {
|
||||
@Test
|
||||
void itShouldOpenMainPage() {
|
||||
open("https://www.kiwi.com/en");
|
||||
|
||||
// Cookie (org.openqa.selenium), tento způsob nepůjde na všech webech. Všude to je jinde
|
||||
//cookie_consent, agreed --> takto si to pojmenovalo kiwi
|
||||
// nakonec za komentovaný způsob nešel použil jsem xpath
|
||||
/*
|
||||
Cookie cookie = new Cookie("cookie_consent", "agreed");
|
||||
WebDriverRunner.getWebDriver().manage().addCookie(cookie);
|
||||
//refresh();
|
||||
*/
|
||||
|
||||
$(byXpath("//*[@id=\"cookies_accept\"]")).click();
|
||||
$(byAttribute("data-test" ,"LandingSearchButton")).click();
|
||||
System.out.println("");
|
||||
|
||||
}
|
||||
}
|
@ -0,0 +1,27 @@
|
||||
package tests;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import static com.codeborne.selenide.Selectors.byAttribute;
|
||||
import static com.codeborne.selenide.Selectors.byXpath;
|
||||
import static com.codeborne.selenide.Selenide.$;
|
||||
import static com.codeborne.selenide.Selenide.open;
|
||||
|
||||
public class OveritCenuLetenkyTest {
|
||||
@Test
|
||||
void OverimeCenuLetenky() {
|
||||
// jdeme na web kiwi
|
||||
open("https://www.kiwi.com/cz/");
|
||||
// potvrdíme cooki
|
||||
$(byXpath("//*[@id=\"cookies_accept\"]")).click();
|
||||
// kliknu na hlavni strane na prozkoumat
|
||||
$(byAttribute("data-test" ,"LandingSearchButton")).click();
|
||||
// kliknu na prvni nabídku na strance
|
||||
$(byAttribute("data-test" ,"PictureCardContent")).click();
|
||||
// pockam na nactení letenek
|
||||
// ulozim si cenu letenky do promenne
|
||||
// otevrem detail letenky a porovnam cenu
|
||||
|
||||
|
||||
}
|
||||
}
|
BIN
SeleniumBasic/geckodriver.exe
Normal file
BIN
SeleniumBasic/geckodriver.exe
Normal file
Binary file not shown.
@ -1,13 +1,15 @@
|
||||
package cz.lukan;
|
||||
|
||||
import org.junit.After;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.openqa.selenium.By;
|
||||
import org.openqa.selenium.WebDriver;
|
||||
import org.openqa.selenium.chrome.ChromeDriver;
|
||||
|
||||
public class TabulkaTest {
|
||||
public class AlertTest {
|
||||
private WebDriver driver;
|
||||
private final String BASE_URL = "http://localhost";
|
||||
// video 33 výpis do konzole textu
|
||||
@Before
|
||||
public void setUp(){
|
||||
driver = new ChromeDriver();
|
||||
@ -15,9 +17,8 @@ public class TabulkaTest {
|
||||
}
|
||||
@Test
|
||||
public void test(){
|
||||
driver.get(BASE_URL + "/tabulka.php");
|
||||
// video 31
|
||||
driver.findElement(By.xpath("//table/tbody/tr[last()]/td[1]")).getText();
|
||||
driver.get(BASE_URL);
|
||||
|
||||
|
||||
}
|
||||
@After
|
@ -1,3 +1,5 @@
|
||||
package cz.lukan;
|
||||
|
||||
import org.junit.After;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Before;
|
||||
@ -5,18 +7,20 @@ import org.junit.Test;
|
||||
import org.openqa.selenium.By;
|
||||
import org.openqa.selenium.WebDriver;
|
||||
import org.openqa.selenium.chrome.ChromeDriver;
|
||||
import org.openqa.selenium.firefox.FirefoxDriver;
|
||||
|
||||
public class ClickMeTest {
|
||||
private WebDriver driver;
|
||||
private final String BASE_URL = "http://localhost";
|
||||
private final String BASE_URL = "http://localhost/clickmebaby.php";
|
||||
@Before
|
||||
public void setUp(){
|
||||
driver = new ChromeDriver();
|
||||
System.setProperty("webdriver.gecko.driver" , "geckodriver.exe");
|
||||
driver = new FirefoxDriver();
|
||||
|
||||
}
|
||||
@Test
|
||||
public void test(){
|
||||
driver.get(BASE_URL + "/clickmebaby.php");
|
||||
driver.get(BASE_URL);
|
||||
// message jsem udělal do getText vložit "" vyjmout --> vlažit kam chci psát
|
||||
Assert.assertEquals("Inicaálizovaný počet kliků", "0", driver.findElement(By.id("clicks")).getText());
|
||||
// for cyklus zvyšování plus 1
|
@ -1,3 +1,5 @@
|
||||
package cz.lukan;
|
||||
|
||||
import org.junit.After;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
@ -1,3 +1,5 @@
|
||||
package cz.lukan;
|
||||
|
||||
import org.junit.After;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
@ -1,3 +1,5 @@
|
||||
package cz.lukan;
|
||||
|
||||
import org.junit.After;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
@ -1,3 +1,5 @@
|
||||
package cz.lukan;
|
||||
|
||||
import org.junit.After;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Before;
|
40
SeleniumBasic/src/test/java/cz/lukan/TabulkaTest.java
Normal file
40
SeleniumBasic/src/test/java/cz/lukan/TabulkaTest.java
Normal file
@ -0,0 +1,40 @@
|
||||
package cz.lukan;
|
||||
|
||||
import org.junit.After;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.openqa.selenium.By;
|
||||
import org.openqa.selenium.WebDriver;
|
||||
import org.openqa.selenium.WebElement;
|
||||
import org.openqa.selenium.chrome.ChromeDriver;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class TabulkaTest {
|
||||
private WebDriver driver;
|
||||
private final String BASE_URL = "http://localhost";
|
||||
@Before
|
||||
public void setUp(){
|
||||
driver = new ChromeDriver();
|
||||
|
||||
}
|
||||
@Test
|
||||
public void test(){
|
||||
driver.get(BASE_URL + "/tabulka.php");
|
||||
// video 31
|
||||
driver.findElement(By.xpath("//table/tbody/tr[last()]/td[1]")).getText();
|
||||
// vide 32
|
||||
List<WebElement> rows = driver.findElements(By.xpath("//table/tbody/tr"));
|
||||
System.out.println(rows);
|
||||
for (WebElement roow : rows) {
|
||||
System.out.println(roow.getText());
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@After
|
||||
public void tearDown(){
|
||||
driver.quit();
|
||||
|
||||
}
|
||||
}
|
16
SeleniumBasic/src/test/java/cz/lukan/TestSuite.java
Normal file
16
SeleniumBasic/src/test/java/cz/lukan/TestSuite.java
Normal file
@ -0,0 +1,16 @@
|
||||
package cz.lukan;
|
||||
|
||||
import org.junit.runner.RunWith;
|
||||
import org.junit.runners.Suite;
|
||||
|
||||
@RunWith(Suite.class)
|
||||
@Suite.SuiteClasses({
|
||||
SelectTest.class,
|
||||
ClickMeTest.class,
|
||||
XpathTest.class
|
||||
|
||||
|
||||
})
|
||||
|
||||
public class TestSuite {
|
||||
}
|
@ -1,3 +1,5 @@
|
||||
package cz.lukan;
|
||||
|
||||
import org.junit.After;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
@ -1,3 +1,5 @@
|
||||
package cz.lukan;
|
||||
|
||||
import org.junit.After;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
3
selenide_series/.idea/.gitignore
generated
vendored
Normal file
3
selenide_series/.idea/.gitignore
generated
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
# Default ignored files
|
||||
/shelf/
|
||||
/workspace.xml
|
16
selenide_series/.idea/compiler.xml
generated
Normal file
16
selenide_series/.idea/compiler.xml
generated
Normal file
@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="CompilerConfiguration">
|
||||
<excludeFromCompile>
|
||||
<directory url="file://$PROJECT_DIR$/src/main/resources/archetype-resources" includeSubdirectories="true" />
|
||||
</excludeFromCompile>
|
||||
<annotationProcessing>
|
||||
<profile name="Maven default annotation processors profile" enabled="true">
|
||||
<sourceOutputDir name="target/generated-sources/annotations" />
|
||||
<sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
|
||||
<outputRelativeToContentRoot value="true" />
|
||||
<module name="selenide_series" />
|
||||
</profile>
|
||||
</annotationProcessing>
|
||||
</component>
|
||||
</project>
|
7
selenide_series/.idea/encodings.xml
generated
Normal file
7
selenide_series/.idea/encodings.xml
generated
Normal file
@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="Encoding">
|
||||
<file url="file://$PROJECT_DIR$/src/main/java" charset="UTF-8" />
|
||||
<file url="file://$PROJECT_DIR$/src/main/resources" charset="UTF-8" />
|
||||
</component>
|
||||
</project>
|
20
selenide_series/.idea/jarRepositories.xml
generated
Normal file
20
selenide_series/.idea/jarRepositories.xml
generated
Normal file
@ -0,0 +1,20 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="RemoteRepositoriesConfiguration">
|
||||
<remote-repository>
|
||||
<option name="id" value="central" />
|
||||
<option name="name" value="Central Repository" />
|
||||
<option name="url" value="https://repo.maven.apache.org/maven2" />
|
||||
</remote-repository>
|
||||
<remote-repository>
|
||||
<option name="id" value="central" />
|
||||
<option name="name" value="Maven Central repository" />
|
||||
<option name="url" value="https://repo1.maven.org/maven2" />
|
||||
</remote-repository>
|
||||
<remote-repository>
|
||||
<option name="id" value="jboss.community" />
|
||||
<option name="name" value="JBoss Community repository" />
|
||||
<option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
|
||||
</remote-repository>
|
||||
</component>
|
||||
</project>
|
14
selenide_series/.idea/misc.xml
generated
Normal file
14
selenide_series/.idea/misc.xml
generated
Normal file
@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ExternalStorageConfigurationManager" enabled="true" />
|
||||
<component name="MavenProjectsManager">
|
||||
<option name="originalFiles">
|
||||
<list>
|
||||
<option value="$PROJECT_DIR$/pom.xml" />
|
||||
</list>
|
||||
</option>
|
||||
</component>
|
||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_X" default="true" project-jdk-name="20" project-jdk-type="JavaSDK">
|
||||
<output url="file://$PROJECT_DIR$/out" />
|
||||
</component>
|
||||
</project>
|
124
selenide_series/.idea/uiDesigner.xml
generated
Normal file
124
selenide_series/.idea/uiDesigner.xml
generated
Normal file
@ -0,0 +1,124 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="Palette2">
|
||||
<group name="Swing">
|
||||
<item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.svg" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||
<default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" />
|
||||
</item>
|
||||
<item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.svg" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||
<default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" />
|
||||
</item>
|
||||
<item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.svg" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" />
|
||||
</item>
|
||||
<item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.svg" removable="false" auto-create-binding="false" can-attach-label="true">
|
||||
<default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" />
|
||||
</item>
|
||||
<item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.svg" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" />
|
||||
<initial-values>
|
||||
<property name="text" value="Button" />
|
||||
</initial-values>
|
||||
</item>
|
||||
<item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.svg" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
|
||||
<initial-values>
|
||||
<property name="text" value="RadioButton" />
|
||||
</initial-values>
|
||||
</item>
|
||||
<item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.svg" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
|
||||
<initial-values>
|
||||
<property name="text" value="CheckBox" />
|
||||
</initial-values>
|
||||
</item>
|
||||
<item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.svg" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||
<default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" />
|
||||
<initial-values>
|
||||
<property name="text" value="Label" />
|
||||
</initial-values>
|
||||
</item>
|
||||
<item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
|
||||
<preferred-size width="150" height="-1" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
|
||||
<preferred-size width="150" height="-1" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
|
||||
<preferred-size width="150" height="-1" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.svg" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
|
||||
<preferred-size width="150" height="50" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.svg" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
|
||||
<preferred-size width="150" height="50" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.svg" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
|
||||
<preferred-size width="150" height="50" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.svg" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||
<default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" />
|
||||
</item>
|
||||
<item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.svg" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
|
||||
<preferred-size width="150" height="50" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.svg" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3">
|
||||
<preferred-size width="150" height="50" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.svg" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
|
||||
<preferred-size width="150" height="50" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.svg" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
|
||||
<preferred-size width="200" height="200" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.svg" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
|
||||
<preferred-size width="200" height="200" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.svg" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
|
||||
</item>
|
||||
<item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.svg" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
|
||||
</item>
|
||||
<item class="javax.swing.JSeparator" icon="/com/intellij/uiDesigner/icons/separator.svg" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3" />
|
||||
</item>
|
||||
<item class="javax.swing.JProgressBar" icon="/com/intellij/uiDesigner/icons/progressbar.svg" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1" />
|
||||
</item>
|
||||
<item class="javax.swing.JToolBar" icon="/com/intellij/uiDesigner/icons/toolbar.svg" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||
<default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1">
|
||||
<preferred-size width="-1" height="20" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JToolBar$Separator" icon="/com/intellij/uiDesigner/icons/toolbarSeparator.svg" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||
<default-constraints vsize-policy="0" hsize-policy="0" anchor="0" fill="1" />
|
||||
</item>
|
||||
<item class="javax.swing.JScrollBar" icon="/com/intellij/uiDesigner/icons/scrollbar.svg" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="6" hsize-policy="0" anchor="0" fill="2" />
|
||||
</item>
|
||||
</group>
|
||||
</component>
|
||||
</project>
|
6
selenide_series/.idea/vcs.xml
generated
Normal file
6
selenide_series/.idea/vcs.xml
generated
Normal file
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="VcsDirectoryMappings">
|
||||
<mapping directory="$PROJECT_DIR$/.." vcs="Git" />
|
||||
</component>
|
||||
</project>
|
28
selenide_series/pom.xml
Normal file
28
selenide_series/pom.xml
Normal file
@ -0,0 +1,28 @@
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>cz.lukan</groupId>
|
||||
<artifactId>selenide_series</artifactId>
|
||||
<version>1.0-SNAPSHOT</version>
|
||||
<name>Archetype - selenide_series</name>
|
||||
<url>http://maven.apache.org</url>
|
||||
<properties>
|
||||
<maven.compiler.source>20</maven.compiler.source>
|
||||
<maven.compiler.target>20</maven.compiler.target>
|
||||
</properties>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>com.codeborne</groupId>
|
||||
<artifactId>selenide</artifactId>
|
||||
<version>6.17.0</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<!-- https://mvnrepository.com/artifact/org.testng/testng -->
|
||||
<dependency>
|
||||
<groupId>org.testng</groupId>
|
||||
<artifactId>testng</artifactId>
|
||||
<version>7.8.0</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</project>
|
12
selenide_series/readme.md
Normal file
12
selenide_series/readme.md
Normal file
@ -0,0 +1,12 @@
|
||||
Selenide ---> https://selenide.org/quick-start.html (pom.xml)
|
||||
|
||||
TestNG ---> https://mvnrepository.com/artifact/org.testng/testng (pom.xml)
|
||||
|
||||
|
||||
Maven --->
|
||||
|
||||
<properties>
|
||||
<maven.compiler.source>20</maven.compiler.source>
|
||||
<maven.compiler.target>20</maven.compiler.target>
|
||||
</properties>
|
||||
|
@ -0,0 +1,9 @@
|
||||
<archetype>
|
||||
<id>selenide_series</id>
|
||||
<sources>
|
||||
<source>src/main/java/App.java</source>
|
||||
</sources>
|
||||
<testSources>
|
||||
<source>src/test/java/AppTest.java</source>
|
||||
</testSources>
|
||||
</archetype>
|
@ -0,0 +1,15 @@
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>$cz.lukan</groupId>
|
||||
<artifactId>$selenide_series</artifactId>
|
||||
<version>$1.0-SNAPSHOT</version>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>junit</groupId>
|
||||
<artifactId>junit</artifactId>
|
||||
<version>3.8.1</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</project>
|
@ -0,0 +1,13 @@
|
||||
package $cz.lukan;
|
||||
|
||||
/**
|
||||
* Hello world!
|
||||
*
|
||||
*/
|
||||
public class App
|
||||
{
|
||||
public static void main( String[] args )
|
||||
{
|
||||
System.out.println( "Hello World!" );
|
||||
}
|
||||
}
|
@ -0,0 +1,38 @@
|
||||
package $cz.lukan;
|
||||
|
||||
import junit.framework.Test;
|
||||
import junit.framework.TestCase;
|
||||
import junit.framework.TestSuite;
|
||||
|
||||
/**
|
||||
* Unit test for simple App.
|
||||
*/
|
||||
public class AppTest
|
||||
extends TestCase
|
||||
{
|
||||
/**
|
||||
* Create the test case
|
||||
*
|
||||
* @param testName name of the test case
|
||||
*/
|
||||
public AppTest( String testName )
|
||||
{
|
||||
super( testName );
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the suite of tests being tested
|
||||
*/
|
||||
public static Test suite()
|
||||
{
|
||||
return new TestSuite( AppTest.class );
|
||||
}
|
||||
|
||||
/**
|
||||
* Rigourous Test :-)
|
||||
*/
|
||||
public void testApp()
|
||||
{
|
||||
assertTrue( true );
|
||||
}
|
||||
}
|
29
selenide_series/src/test/java/specs/HomeTest.java
Normal file
29
selenide_series/src/test/java/specs/HomeTest.java
Normal file
@ -0,0 +1,29 @@
|
||||
package specs;
|
||||
|
||||
import com.codeborne.selenide.WebDriverRunner;
|
||||
import org.openqa.selenium.WebDriver;
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
import static com.codeborne.selenide.Selenide.open;
|
||||
import static com.codeborne.selenide.Selenide.title;
|
||||
import static org.testng.AssertJUnit.assertEquals;
|
||||
|
||||
public class HomeTest {
|
||||
@Test
|
||||
public void testPageUrlAndTitle() {
|
||||
open("https://practice.sdetunicorns.com/");
|
||||
|
||||
// test očekávané url, String url do této proměné jsme vložily url
|
||||
String url = WebDriverRunner.url();
|
||||
assertEquals(url, "https://practice.sdetunicorns.com/");
|
||||
|
||||
// test titulu stránky
|
||||
String title = title();
|
||||
assertEquals(title, "Practice E-Commerce Site – SDET Unicorns – Helping you succeed in Software Quality.");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testInteractingWithElements() {
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,9 @@
|
||||
<archetype>
|
||||
<id>selenide_series</id>
|
||||
<sources>
|
||||
<source>src/main/java/App.java</source>
|
||||
</sources>
|
||||
<testSources>
|
||||
<source>src/test/java/AppTest.java</source>
|
||||
</testSources>
|
||||
</archetype>
|
15
selenide_series/target/classes/archetype-resources/pom.xml
Normal file
15
selenide_series/target/classes/archetype-resources/pom.xml
Normal file
@ -0,0 +1,15 @@
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>$cz.lukan</groupId>
|
||||
<artifactId>$selenide_series</artifactId>
|
||||
<version>$1.0-SNAPSHOT</version>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>junit</groupId>
|
||||
<artifactId>junit</artifactId>
|
||||
<version>3.8.1</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</project>
|
@ -0,0 +1,13 @@
|
||||
package $cz.lukan;
|
||||
|
||||
/**
|
||||
* Hello world!
|
||||
*
|
||||
*/
|
||||
public class App
|
||||
{
|
||||
public static void main( String[] args )
|
||||
{
|
||||
System.out.println( "Hello World!" );
|
||||
}
|
||||
}
|
@ -0,0 +1,38 @@
|
||||
package $cz.lukan;
|
||||
|
||||
import junit.framework.Test;
|
||||
import junit.framework.TestCase;
|
||||
import junit.framework.TestSuite;
|
||||
|
||||
/**
|
||||
* Unit test for simple App.
|
||||
*/
|
||||
public class AppTest
|
||||
extends TestCase
|
||||
{
|
||||
/**
|
||||
* Create the test case
|
||||
*
|
||||
* @param testName name of the test case
|
||||
*/
|
||||
public AppTest( String testName )
|
||||
{
|
||||
super( testName );
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the suite of tests being tested
|
||||
*/
|
||||
public static Test suite()
|
||||
{
|
||||
return new TestSuite( AppTest.class );
|
||||
}
|
||||
|
||||
/**
|
||||
* Rigourous Test :-)
|
||||
*/
|
||||
public void testApp()
|
||||
{
|
||||
assertTrue( true );
|
||||
}
|
||||
}
|
BIN
selenide_series/target/test-classes/specs/HomeTest.class
Normal file
BIN
selenide_series/target/test-classes/specs/HomeTest.class
Normal file
Binary file not shown.
8
selenidetraining/.idea/.gitignore
generated
vendored
Normal file
8
selenidetraining/.idea/.gitignore
generated
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
# Default ignored files
|
||||
/shelf/
|
||||
/workspace.xml
|
||||
# Editor-based HTTP Client requests
|
||||
/httpRequests/
|
||||
# Datasource local storage ignored files
|
||||
/dataSources/
|
||||
/dataSources.local.xml
|
14
selenidetraining/.idea/compiler.xml
generated
Normal file
14
selenidetraining/.idea/compiler.xml
generated
Normal file
@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="CompilerConfiguration">
|
||||
<annotationProcessing>
|
||||
<profile name="Maven default annotation processors profile" enabled="true">
|
||||
<sourceOutputDir name="target/generated-sources/annotations" />
|
||||
<sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
|
||||
<outputRelativeToContentRoot value="true" />
|
||||
<module name="selenide-training" />
|
||||
<module name="selenidetraining" />
|
||||
</profile>
|
||||
</annotationProcessing>
|
||||
</component>
|
||||
</project>
|
20
selenidetraining/.idea/jarRepositories.xml
generated
Normal file
20
selenidetraining/.idea/jarRepositories.xml
generated
Normal file
@ -0,0 +1,20 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="RemoteRepositoriesConfiguration">
|
||||
<remote-repository>
|
||||
<option name="id" value="central" />
|
||||
<option name="name" value="Central Repository" />
|
||||
<option name="url" value="https://repo.maven.apache.org/maven2" />
|
||||
</remote-repository>
|
||||
<remote-repository>
|
||||
<option name="id" value="central" />
|
||||
<option name="name" value="Maven Central repository" />
|
||||
<option name="url" value="https://repo1.maven.org/maven2" />
|
||||
</remote-repository>
|
||||
<remote-repository>
|
||||
<option name="id" value="jboss.community" />
|
||||
<option name="name" value="JBoss Community repository" />
|
||||
<option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
|
||||
</remote-repository>
|
||||
</component>
|
||||
</project>
|
12
selenidetraining/.idea/misc.xml
generated
Normal file
12
selenidetraining/.idea/misc.xml
generated
Normal file
@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ExternalStorageConfigurationManager" enabled="true" />
|
||||
<component name="MavenProjectsManager">
|
||||
<option name="originalFiles">
|
||||
<list>
|
||||
<option value="$PROJECT_DIR$/pom.xml" />
|
||||
</list>
|
||||
</option>
|
||||
</component>
|
||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_X" default="true" project-jdk-name="20" project-jdk-type="JavaSDK" />
|
||||
</project>
|
7
selenidetraining/.idea/vcs.xml
generated
Normal file
7
selenidetraining/.idea/vcs.xml
generated
Normal file
@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="VcsDirectoryMappings">
|
||||
<mapping directory="" vcs="Git" />
|
||||
<mapping directory="$PROJECT_DIR$/.." vcs="Git" />
|
||||
</component>
|
||||
</project>
|
36
selenidetraining/pom.xml
Normal file
36
selenidetraining/pom.xml
Normal file
@ -0,0 +1,36 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<groupId>furbo.sk</groupId>
|
||||
<artifactId>selenide-training</artifactId>
|
||||
<version>1.0-SNAPSHOT</version>
|
||||
|
||||
<properties>
|
||||
<maven.compiler.source>20</maven.compiler.source>
|
||||
<maven.compiler.target>20</maven.compiler.target>
|
||||
</properties>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.seleniumhq.selenium</groupId>
|
||||
<artifactId>selenium-java</artifactId>
|
||||
<version>4.11.0</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>junit</groupId>
|
||||
<artifactId>junit</artifactId>
|
||||
<version>4.13.2</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.codeborne</groupId>
|
||||
<artifactId>selenide</artifactId>
|
||||
<version>6.17.0</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
</project>
|
2
selenidetraining/selenidetraining.iml
Normal file
2
selenidetraining/selenidetraining.iml
Normal file
@ -0,0 +1,2 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module type="JAVA_MODULE" version="4" />
|
24
selenidetraining/src/test/java/base/TestBase.java
Normal file
24
selenidetraining/src/test/java/base/TestBase.java
Normal file
@ -0,0 +1,24 @@
|
||||
package base;
|
||||
|
||||
import org.junit.After;
|
||||
import org.junit.Before;
|
||||
import org.openqa.selenium.WebDriver;
|
||||
import org.openqa.selenium.chrome.ChromeDriver;
|
||||
import org.openqa.selenium.chrome.ChromeOptions;
|
||||
|
||||
public class TestBase {
|
||||
protected WebDriver driver;
|
||||
protected final String BASE_URL = "http://localhost:8888";
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
//System.setProperty("webdriver.chrome.driver", "src/test/resources/drivers/mac/chromedriver75_mac");
|
||||
driver = new ChromeDriver();
|
||||
}
|
||||
|
||||
@After
|
||||
public void tearDown() {
|
||||
driver.close();
|
||||
driver.quit();
|
||||
}
|
||||
}
|
@ -0,0 +1,89 @@
|
||||
package pages;
|
||||
|
||||
import org.openqa.selenium.By;
|
||||
import org.openqa.selenium.Keys;
|
||||
import org.openqa.selenium.WebDriver;
|
||||
import org.openqa.selenium.WebElement;
|
||||
import org.openqa.selenium.support.FindBy;
|
||||
import org.openqa.selenium.support.PageFactory;
|
||||
import org.openqa.selenium.support.ui.Select;
|
||||
|
||||
public class SavingsCalculatorPage {
|
||||
@FindBy(id = "emailInput")
|
||||
private WebElement emailInput;
|
||||
|
||||
@FindBy(id = "yearsInput")
|
||||
private WebElement yearsInput;
|
||||
|
||||
@FindBy(id = "oneTimeInvestmentInput")
|
||||
private WebElement oneTimeInvestmentInput;
|
||||
|
||||
@FindBy(id = "fundSelect")
|
||||
private WebElement fundSelect;
|
||||
|
||||
@FindBy(css = "button.btn")
|
||||
private WebElement applyButton;
|
||||
|
||||
@FindBy(css = "div.result")
|
||||
private WebElement resultElement;
|
||||
|
||||
@FindBy(css = "ul.saving-list div.saving-detail")
|
||||
private WebElement mostRecentSavingsDetail;
|
||||
|
||||
private WebDriver pageDriver;
|
||||
|
||||
public SavingsCalculatorPage(WebDriver driver) {
|
||||
this.pageDriver = driver;
|
||||
PageFactory.initElements(driver, this);
|
||||
}
|
||||
|
||||
public void enterEmail(String email) {
|
||||
emailInput.clear();
|
||||
emailInput.sendKeys(email);
|
||||
emailInput.sendKeys(Keys.TAB);
|
||||
}
|
||||
|
||||
public void enterYears(int years) {
|
||||
yearsInput.clear();
|
||||
yearsInput.sendKeys(String.valueOf(years));
|
||||
}
|
||||
|
||||
public void enterOneTimeInvestment(String amount) {
|
||||
oneTimeInvestmentInput.clear();
|
||||
oneTimeInvestmentInput.sendKeys(amount);
|
||||
}
|
||||
|
||||
public void selectFund(String fundToSelect) {
|
||||
new Select(fundSelect).selectByVisibleText(fundToSelect);
|
||||
}
|
||||
|
||||
public void applyForSaving() {
|
||||
applyButton.click();
|
||||
}
|
||||
|
||||
|
||||
public WebElement getCalculatedTotalIncomeElement() {
|
||||
return resultElement.findElement(By.xpath("./div[1]/p"));
|
||||
}
|
||||
|
||||
public WebElement getCalculatedInterestIncomeElement() {
|
||||
return pageDriver.findElement(By.cssSelector("div.result > div:nth-child(2) p"));
|
||||
}
|
||||
|
||||
public WebElement getCalculatedRiskElement() {
|
||||
return resultElement.findElement(By.xpath("./div[3]/p"));
|
||||
}
|
||||
|
||||
public WebElement getRecentRequestDetail() {
|
||||
return mostRecentSavingsDetail;
|
||||
}
|
||||
|
||||
public WebElement getApplyButton() {
|
||||
return applyButton;
|
||||
}
|
||||
|
||||
|
||||
public WebElement getEmailInputWrapper(){
|
||||
return pageDriver.findElement(By.xpath("//input[@id='emailInput']/.."));
|
||||
}
|
||||
}
|
18
selenidetraining/src/test/java/suites/TestSuite.java
Normal file
18
selenidetraining/src/test/java/suites/TestSuite.java
Normal file
@ -0,0 +1,18 @@
|
||||
package suites;
|
||||
|
||||
import org.junit.runner.RunWith;
|
||||
import org.junit.runners.Suite;
|
||||
import tests.*;
|
||||
|
||||
@RunWith(Suite.class)
|
||||
@Suite.SuiteClasses({
|
||||
FellowshipTest.class,
|
||||
GosslingatorTest.class,
|
||||
RandomTableTest.class,
|
||||
SavingsCalculatorTest.class,
|
||||
SortingHatTest.class,
|
||||
WaitForItTest.class,
|
||||
SpelleologyTest.class
|
||||
})
|
||||
public class TestSuite {
|
||||
}
|
103
selenidetraining/src/test/java/tests/FellowshipTest.java
Normal file
103
selenidetraining/src/test/java/tests/FellowshipTest.java
Normal file
@ -0,0 +1,103 @@
|
||||
package tests;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import org.junit.Assert;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.openqa.selenium.By;
|
||||
import org.openqa.selenium.WebElement;
|
||||
|
||||
import base.TestBase;
|
||||
|
||||
public class FellowshipTest extends TestBase {
|
||||
|
||||
@Before
|
||||
public void openPage() {
|
||||
driver.get(BASE_URL + "/fellowship.php");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void itShouldContainNameForEachFellow() {
|
||||
List<WebElement> fellowElements = getFellowElements();
|
||||
|
||||
for (WebElement fellowElement : fellowElements) {
|
||||
Assert.assertFalse(fellowElement.findElement(By.cssSelector("h1")).getText().isEmpty());
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void itShouldContainSpecifiedFellows() {
|
||||
List<WebElement> fellowElements = getFellowElements();
|
||||
List<String> fellowNames = new ArrayList<String>();
|
||||
|
||||
for (WebElement fellowElement : fellowElements) {
|
||||
System.out.println(fellowElement.findElement(By.cssSelector("h1")).getText());
|
||||
fellowNames.add(fellowElement.findElement(By.cssSelector("h1")).getText());
|
||||
}
|
||||
System.out.println(fellowNames);
|
||||
Assert.assertTrue(fellowNames.contains("Gandalf"));
|
||||
Assert.assertTrue(fellowNames.contains("Aragorn"));
|
||||
Assert.assertTrue(fellowNames.contains("Frodo"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void itShouldDisplayMessageComplete() {
|
||||
List<String> fellowsToSelect = new ArrayList<String>();
|
||||
fellowsToSelect.add("Gandalf");
|
||||
fellowsToSelect.add("Aragorn");
|
||||
fellowsToSelect.add("Legolas");
|
||||
fellowsToSelect.add("Frodo");
|
||||
|
||||
for (String fellowToSelect : fellowsToSelect) {
|
||||
selectFellow(fellowToSelect);
|
||||
}
|
||||
|
||||
Assert.assertEquals("Complete", driver.findElement(By.cssSelector("div.points-left h3")).getText());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void itShouldDisplayPointsForEachFellow() {
|
||||
List<WebElement> displayedFellows = getFellowElements();
|
||||
for (WebElement displayedFellow : displayedFellows) {
|
||||
|
||||
String actualPoints = displayedFellow.findElement(By.cssSelector("div.fellow-points h2")).getText();
|
||||
|
||||
Assert.assertFalse(actualPoints.isEmpty());
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void itShouldHighlightFellows() {
|
||||
List<String> fellowsToSelect = new ArrayList<String>();
|
||||
fellowsToSelect.add("Gandalf");
|
||||
fellowsToSelect.add("Aragorn");
|
||||
fellowsToSelect.add("Legolas");
|
||||
fellowsToSelect.add("Frodo");
|
||||
|
||||
for (String fellowToSelect : fellowsToSelect) {
|
||||
selectFellow(fellowToSelect);
|
||||
}
|
||||
|
||||
List<String> higlightedFellows =
|
||||
driver.findElements(By.xpath("//ul[contains(@class,'list-of-fellows')]/li/div[contains(@class,'active')]//h1"))
|
||||
.stream()
|
||||
.map(WebElement::getText)
|
||||
.collect(Collectors.toList());
|
||||
|
||||
for (String higlightedFellow : higlightedFellows) {
|
||||
Assert.assertTrue(fellowsToSelect.contains(higlightedFellow));
|
||||
}
|
||||
}
|
||||
|
||||
private void selectFellow(String fellowName) {
|
||||
driver.findElement(By.xpath("//h1[contains(text(),'" + fellowName + "')]")).click();
|
||||
}
|
||||
|
||||
private List<WebElement> getFellowElements() {
|
||||
return driver.findElements(By.cssSelector("ul.list-of-fellows li"));
|
||||
}
|
||||
}
|
77
selenidetraining/src/test/java/tests/GosslingatorTest.java
Normal file
77
selenidetraining/src/test/java/tests/GosslingatorTest.java
Normal file
@ -0,0 +1,77 @@
|
||||
package tests;
|
||||
|
||||
import org.junit.After;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.openqa.selenium.By;
|
||||
import org.openqa.selenium.WebDriver;
|
||||
import org.openqa.selenium.WebElement;
|
||||
import org.openqa.selenium.chrome.ChromeDriver;
|
||||
import org.openqa.selenium.chrome.ChromeOptions;
|
||||
|
||||
public class GosslingatorTest {
|
||||
|
||||
private WebDriver driver;
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
//System.setProperty("webdriver.chrome.driver", "src/test/resources/drivers/chromedriver75_mac");
|
||||
driver = new ChromeDriver();
|
||||
driver.get("http://localhost:8888/gosslingator.php");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void itShouldDisplayTitle() {
|
||||
Assert.assertEquals("GOSLINGATE ME", driver.findElement(By.cssSelector(".ryan-title")).getText());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void itShouldAddOneRyan() {
|
||||
driver.findElement(By.id("addRyan")).click();
|
||||
|
||||
String actualNumberOfRyans = driver.findElement(By.id("ryanCounter")).getText();
|
||||
Assert.assertEquals("1", actualNumberOfRyans);
|
||||
|
||||
System.out.println("Number of ryans: " + driver.findElement(By.cssSelector("div.ryan-counter h2")).getText());
|
||||
Assert.assertEquals("ryan", driver.findElement(By.cssSelector("div.ryan-counter h3")).getText());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void itShouldTwoRyans() {
|
||||
driver.findElement(By.id("addRyan")).click();
|
||||
driver.findElement(By.id("addRyan")).click();
|
||||
|
||||
String actualNumberOfRyans = driver.findElement(By.id("ryanCounter")).getText();
|
||||
String actualRyanDescription = driver.findElement(By.cssSelector("div.ryan-counter h3")).getText();
|
||||
|
||||
Assert.assertEquals("2", actualNumberOfRyans);
|
||||
Assert.assertEquals("ryans", actualRyanDescription);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void itShouldDisplayWarningMessage() {
|
||||
WebElement addRyanButton = driver.findElement(By.id("addRyan"));
|
||||
for (int i = 0; i < 50; i++) {
|
||||
addRyanButton.click();
|
||||
}
|
||||
Assert.assertEquals(
|
||||
"NUMBER OF\n" +
|
||||
"RYANS\n" +
|
||||
"IS TOO DAMN\n" +
|
||||
"HIGH",
|
||||
driver.findElement(By.cssSelector("h1.tooManyRyans")).getText()
|
||||
);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void itShouldDisplayNoRyanOnPageOpen() {
|
||||
Assert.assertEquals(0, driver.findElements(By.cssSelector("img")).size());
|
||||
}
|
||||
|
||||
@After
|
||||
public void tearDown() {
|
||||
driver.close();
|
||||
driver.quit();
|
||||
}
|
||||
}
|
47
selenidetraining/src/test/java/tests/RandomTableTest.java
Normal file
47
selenidetraining/src/test/java/tests/RandomTableTest.java
Normal file
@ -0,0 +1,47 @@
|
||||
package tests;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.junit.Assert;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.openqa.selenium.By;
|
||||
import org.openqa.selenium.JavascriptExecutor;
|
||||
import org.openqa.selenium.WebElement;
|
||||
|
||||
import base.TestBase;
|
||||
|
||||
public class RandomTableTest extends TestBase {
|
||||
@Before
|
||||
public void openPage() {
|
||||
//1.otvorit stranku
|
||||
driver.get(BASE_URL + "/tabulka.php");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void itShouldContainDataForEachRow() {
|
||||
for (WebElement tableRow : getRows()) {
|
||||
Assert.assertFalse(tableRow.getText().isEmpty());
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void itShouldContainNameForEachRow() {
|
||||
List<WebElement> tableRows = getRows();
|
||||
for (WebElement tableRow : tableRows) {
|
||||
tableRow.findElement(By.cssSelector("td:nth-child(2)"));
|
||||
WebElement rowName = tableRow.findElement(By.xpath("./td[2]"));
|
||||
Assert.assertFalse(rowName.getText().isEmpty());
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void itShouldScrollToLastElement() {
|
||||
WebElement lastRow = driver.findElement(By.cssSelector("table > tbody > tr:last-child"));
|
||||
((JavascriptExecutor) driver).executeScript("arguments[0].scrollIntoView(true);", lastRow);
|
||||
}
|
||||
|
||||
private List<WebElement> getRows() {
|
||||
return driver.findElements(By.cssSelector("table tbody tr"));
|
||||
}
|
||||
}
|
@ -0,0 +1,98 @@
|
||||
package tests;
|
||||
|
||||
import base.TestBase;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.openqa.selenium.By;
|
||||
import org.openqa.selenium.WebElement;
|
||||
import org.openqa.selenium.interactions.Actions;
|
||||
import org.openqa.selenium.support.ui.ExpectedConditions;
|
||||
import org.openqa.selenium.support.ui.WebDriverWait;
|
||||
import pages.SavingsCalculatorPage;
|
||||
|
||||
import static org.junit.Assert.*;
|
||||
import static org.openqa.selenium.By.cssSelector;
|
||||
|
||||
public class SavingsCalculatorTest extends TestBase {
|
||||
private SavingsCalculatorPage savingsCalculatorPage;
|
||||
|
||||
@Before
|
||||
public void openPage() {
|
||||
driver.get(BASE_URL.concat("/savingscalculator.php"));
|
||||
savingsCalculatorPage = new SavingsCalculatorPage(driver);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void itShouldEnableApplyButton() {
|
||||
savingsCalculatorPage.selectFund("Hoggwart's Fund");
|
||||
savingsCalculatorPage.enterOneTimeInvestment("15000");
|
||||
savingsCalculatorPage.enterYears(20);
|
||||
savingsCalculatorPage.enterEmail("info@furbo.sk");
|
||||
|
||||
assertTrue(savingsCalculatorPage.getApplyButton().isEnabled());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void itShouldDisplayCalculatedAmounts() {
|
||||
savingsCalculatorPage.selectFund("Hoggwart's Fund");
|
||||
savingsCalculatorPage.enterOneTimeInvestment("15000");
|
||||
savingsCalculatorPage.enterYears(20);
|
||||
savingsCalculatorPage.enterEmail("info@furbo.sk");
|
||||
|
||||
assertFalse(savingsCalculatorPage.getCalculatedTotalIncomeElement().getText().isEmpty());
|
||||
assertFalse(savingsCalculatorPage.getCalculatedInterestIncomeElement().getText().isEmpty());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void itShouldDisplayCalculatedRisk() {
|
||||
savingsCalculatorPage.selectFund("Hoggwart's Fund");
|
||||
savingsCalculatorPage.enterOneTimeInvestment("15000");
|
||||
savingsCalculatorPage.enterYears(20);
|
||||
savingsCalculatorPage.enterEmail("info@furbo.sk");
|
||||
|
||||
assertFalse(savingsCalculatorPage.getCalculatedRiskElement().getText().isEmpty());
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void itShouldContainFundNameInNewRequest() {
|
||||
String fundToSelect = "Hoggwart's Fund";
|
||||
|
||||
savingsCalculatorPage.selectFund(fundToSelect);
|
||||
savingsCalculatorPage.enterOneTimeInvestment("25000");
|
||||
savingsCalculatorPage.enterYears(20);
|
||||
savingsCalculatorPage.enterEmail("info@furbo.sk");
|
||||
|
||||
savingsCalculatorPage.applyForSaving();
|
||||
|
||||
assertEquals(
|
||||
fundToSelect,
|
||||
savingsCalculatorPage.getRecentRequestDetail().findElement(cssSelector("p.fund-description")).getText()
|
||||
);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void itShouldDisplayErrorMessageWhenEmailIsInvalid() {
|
||||
savingsCalculatorPage.enterEmail("invalid");
|
||||
assertTrue(savingsCalculatorPage.getEmailInputWrapper().getAttribute("class").contains("error"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void itShouldHighlightNewRequestOnHover() throws InterruptedException {
|
||||
savingsCalculatorPage.selectFund("Hoggwart's Fund");
|
||||
savingsCalculatorPage.enterOneTimeInvestment("15000");
|
||||
savingsCalculatorPage.enterYears(20);
|
||||
savingsCalculatorPage.enterEmail("info@furbo.sk");
|
||||
savingsCalculatorPage.applyForSaving();
|
||||
|
||||
Actions action = new Actions(driver);
|
||||
WebElement we = driver.findElement(By.cssSelector("div.saving-detail"));
|
||||
action.moveToElement(we).build().perform();
|
||||
Thread.sleep(300);
|
||||
assertEquals("rgba(4, 102, 156, 1)", we.getCssValue("background-color"));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
23
selenidetraining/src/test/java/tests/SortingHatTest.java
Normal file
23
selenidetraining/src/test/java/tests/SortingHatTest.java
Normal file
@ -0,0 +1,23 @@
|
||||
package tests;
|
||||
|
||||
import base.TestBase;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
import org.openqa.selenium.By;
|
||||
import org.openqa.selenium.support.ui.ExpectedConditions;
|
||||
import org.openqa.selenium.support.ui.WebDriverWait;
|
||||
|
||||
public class SortingHatTest extends TestBase {
|
||||
|
||||
|
||||
@Test
|
||||
public void itShouldDisplayNameOfHouse() {
|
||||
driver.get(BASE_URL + "/sortinghat.php");
|
||||
driver.findElement(By.cssSelector("button")).click();
|
||||
new WebDriverWait(driver, 10)
|
||||
.until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector("img.loading")));
|
||||
new WebDriverWait(driver, 10)
|
||||
.until(ExpectedConditions.invisibilityOfElementLocated(By.cssSelector("img.loading")));
|
||||
Assert.assertFalse(driver.findElement(By.cssSelector("p.result")).getText().isEmpty());
|
||||
}
|
||||
}
|
68
selenidetraining/src/test/java/tests/SpelleologyTest.java
Normal file
68
selenidetraining/src/test/java/tests/SpelleologyTest.java
Normal file
@ -0,0 +1,68 @@
|
||||
package tests;
|
||||
|
||||
import base.TestBase;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.openqa.selenium.By;
|
||||
import org.openqa.selenium.WebElement;
|
||||
import org.openqa.selenium.support.ui.ExpectedConditions;
|
||||
import org.openqa.selenium.support.ui.WebDriverWait;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
public class SpelleologyTest extends TestBase {
|
||||
|
||||
@Before
|
||||
public void openPage() {
|
||||
driver.get(BASE_URL + "/spelleology.php");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void itShouldContainSpells() {
|
||||
String[] spellsToBePresent = {
|
||||
"counters sonorus",
|
||||
"erases memories",
|
||||
"counterspells",
|
||||
"controls a person – unforgivable"
|
||||
};
|
||||
|
||||
new WebDriverWait(driver, 10)
|
||||
.until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector("ul.spells li")));
|
||||
List<String> displayedSpells = driver.findElements(By.cssSelector("ul.spells li"))
|
||||
.stream()
|
||||
.map(WebElement::getText)
|
||||
.collect(Collectors.toList());
|
||||
|
||||
for (String spellToCheck : spellsToBePresent) {
|
||||
Assert.assertTrue(displayedSpells.contains(spellToCheck));
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void itShouldDisplayTortureSpell() {
|
||||
new WebDriverWait(driver, 10)
|
||||
.until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector("ul.spells li")));
|
||||
List<WebElement> spellElements = driver.findElements(By.cssSelector("ul.spells li"));
|
||||
|
||||
for (WebElement spellElement : spellElements) {
|
||||
if (spellElement.getText().equals("tortures a person")) {
|
||||
spellElement.click();
|
||||
}
|
||||
}
|
||||
new WebDriverWait(driver, 10)
|
||||
.until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector("div.modal-container")));
|
||||
WebElement modal = driver.findElement(By.cssSelector("div.modal-container"));
|
||||
Assert.assertTrue(modal.getText().contains("Crucio"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void itShouldFilterSpells() {
|
||||
driver.findElement(By.cssSelector("input")).sendKeys("tortures a person");
|
||||
new WebDriverWait(driver, 10).until(ExpectedConditions
|
||||
.numberOfElementsToBe(By.cssSelector("ul.spells li"), 1));
|
||||
Assert.assertEquals(driver.findElements(By.cssSelector("ul.spells li")).size(), 1);
|
||||
}
|
||||
|
||||
}
|
49
selenidetraining/src/test/java/tests/WaitForItTest.java
Normal file
49
selenidetraining/src/test/java/tests/WaitForItTest.java
Normal file
@ -0,0 +1,49 @@
|
||||
package tests;
|
||||
|
||||
import org.junit.Assert;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.openqa.selenium.By;
|
||||
import org.openqa.selenium.WebElement;
|
||||
import org.openqa.selenium.support.ui.ExpectedConditions;
|
||||
import org.openqa.selenium.support.ui.WebDriverWait;
|
||||
|
||||
import base.TestBase;
|
||||
|
||||
public class WaitForItTest extends TestBase {
|
||||
|
||||
@Before
|
||||
public void openPage() {
|
||||
driver.get(BASE_URL + "/waitforit.php");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void waitForValue() {
|
||||
String expectedText = "dary !!!";
|
||||
driver.findElement(By.id("startWaitForText")).click();
|
||||
WebElement input = driver.findElement(By.id("waitForTextInput"));
|
||||
|
||||
new WebDriverWait(driver, 5)
|
||||
.until(ExpectedConditions.attributeToBe(input, "value", expectedText));
|
||||
|
||||
Assert.assertEquals(expectedText, input.getAttribute("value"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void waitForClass() {
|
||||
driver.findElement(By.id("startWaitForProperty")).click();
|
||||
|
||||
new WebDriverWait(driver, 10)
|
||||
.until(ExpectedConditions.attributeContains(By.id("waitForProperty"),"class","error"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void itShouldDisplayResponseTimeMessage() {
|
||||
driver.findElement(By.id("startWaitForText")).click();
|
||||
|
||||
new WebDriverWait(driver, 10).until(ExpectedConditions.textToBePresentInElement(
|
||||
driver.findElement(By.cssSelector("div.current-wait-time")),
|
||||
"Response time"));
|
||||
Assert.assertTrue(driver.findElement(By.cssSelector("div.current-wait-time")).getText().contains("Response time"));
|
||||
}
|
||||
}
|
16
selenidetraining/src/test/java/utils/DataUtils.java
Normal file
16
selenidetraining/src/test/java/utils/DataUtils.java
Normal file
@ -0,0 +1,16 @@
|
||||
package utils;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.File;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.FileReader;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
public class DataUtils {
|
||||
public static List<String> getExpectedSpells() throws FileNotFoundException {
|
||||
FileReader fileReader = new FileReader(new File("src/test/resources/testData/spells.txt"));
|
||||
BufferedReader br = new BufferedReader(fileReader);
|
||||
return br.lines().collect(Collectors.toList());
|
||||
}
|
||||
}
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
91
selenidetraining/src/test/resources/testData/spells.txt
Normal file
91
selenidetraining/src/test/resources/testData/spells.txt
Normal file
@ -0,0 +1,91 @@
|
||||
summons an object
|
||||
shoots water from wand
|
||||
opens locked objects
|
||||
clears the target's airway
|
||||
reveals invisible ink
|
||||
murders opponent
|
||||
turns small objects into birds
|
||||
launches birds from your wand
|
||||
strengthens an enclosure from enemies
|
||||
magically locks door
|
||||
explodes flames on target
|
||||
confuses opponent
|
||||
damages opponents eyesight
|
||||
tortures a person
|
||||
digs out materials
|
||||
counters `prior incatato`
|
||||
enlarges teeth
|
||||
blasts holes through walls and floors
|
||||
splits seams
|
||||
opens `one eyed witch` hump
|
||||
makes objects hard
|
||||
enlarges and item
|
||||
counters stupefy
|
||||
heals minor injuries
|
||||
erects things
|
||||
creates a patronus
|
||||
disarms your opponent
|
||||
makes objects explode
|
||||
creates bandages
|
||||
hides a secret within someone
|
||||
stops any current spells
|
||||
allows user to write on objects
|
||||
knocks an object backwards
|
||||
produces boils on opponent
|
||||
duplicates an object
|
||||
turns stairs into ramps
|
||||
reveals humans nearby
|
||||
cures werewolves (at least according to lockhart)
|
||||
renders target immobile.
|
||||
slows an advancing object
|
||||
controls a person – unforgivable
|
||||
makes an object repel water
|
||||
ties someone up
|
||||
starts a fire
|
||||
glues opponent's tongue to roof of mouth
|
||||
allows the caster to delve into the mind of the victim
|
||||
hangs victim upside down by feet
|
||||
counterspells
|
||||
locks opponents legs
|
||||
creates light at wand tip
|
||||
causes weather effect spells to stop
|
||||
moves objects with wand
|
||||
moves unconscious bodies
|
||||
conjures the dark mark
|
||||
prevents nearby people from listening to conversations
|
||||
counters lumos
|
||||
erases memories
|
||||
blindfolds the victim
|
||||
makes conjured items attack
|
||||
conjures a bunch of flowers
|
||||
packs a trunk (suitcase)
|
||||
removes pixies (maybe)
|
||||
binds body – unforgivable
|
||||
animates statues and armor suits
|
||||
makes wand act like a compass
|
||||
echoes most recent spells, result when brother wands duel
|
||||
reveals a wands last spell / cast
|
||||
causes spells to reflect back to the sender.
|
||||
protects one from dark magic
|
||||
protects area
|
||||
counters sonorus
|
||||
returns items to original size. counters engorgio
|
||||
blasts solid objects aside
|
||||
releases user from binding
|
||||
cures unconsciousness
|
||||
repairs things
|
||||
keeps muggles away
|
||||
tickles opponent
|
||||
turns boggart into ridiculous form so you can laugh it away
|
||||
protects against hexes
|
||||
destroys ectoplasm (remains of ghosts)
|
||||
causes wounds as if slashed by a sword
|
||||
produces snake
|
||||
silences victim
|
||||
amplifies voice
|
||||
reveals hidden secrets or magical properties
|
||||
knocks out opponent
|
||||
forces opponent to dance
|
||||
cleans up messes
|
||||
unsticks an object
|
||||
makes on object fly
|
BIN
selenidetraining/target/test-classes/base/TestBase.class
Normal file
BIN
selenidetraining/target/test-classes/base/TestBase.class
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
selenidetraining/target/test-classes/suites/TestSuite.class
Normal file
BIN
selenidetraining/target/test-classes/suites/TestSuite.class
Normal file
Binary file not shown.
91
selenidetraining/target/test-classes/testData/spells.txt
Normal file
91
selenidetraining/target/test-classes/testData/spells.txt
Normal file
@ -0,0 +1,91 @@
|
||||
summons an object
|
||||
shoots water from wand
|
||||
opens locked objects
|
||||
clears the target's airway
|
||||
reveals invisible ink
|
||||
murders opponent
|
||||
turns small objects into birds
|
||||
launches birds from your wand
|
||||
strengthens an enclosure from enemies
|
||||
magically locks door
|
||||
explodes flames on target
|
||||
confuses opponent
|
||||
damages opponents eyesight
|
||||
tortures a person
|
||||
digs out materials
|
||||
counters `prior incatato`
|
||||
enlarges teeth
|
||||
blasts holes through walls and floors
|
||||
splits seams
|
||||
opens `one eyed witch` hump
|
||||
makes objects hard
|
||||
enlarges and item
|
||||
counters stupefy
|
||||
heals minor injuries
|
||||
erects things
|
||||
creates a patronus
|
||||
disarms your opponent
|
||||
makes objects explode
|
||||
creates bandages
|
||||
hides a secret within someone
|
||||
stops any current spells
|
||||
allows user to write on objects
|
||||
knocks an object backwards
|
||||
produces boils on opponent
|
||||
duplicates an object
|
||||
turns stairs into ramps
|
||||
reveals humans nearby
|
||||
cures werewolves (at least according to lockhart)
|
||||
renders target immobile.
|
||||
slows an advancing object
|
||||
controls a person – unforgivable
|
||||
makes an object repel water
|
||||
ties someone up
|
||||
starts a fire
|
||||
glues opponent's tongue to roof of mouth
|
||||
allows the caster to delve into the mind of the victim
|
||||
hangs victim upside down by feet
|
||||
counterspells
|
||||
locks opponents legs
|
||||
creates light at wand tip
|
||||
causes weather effect spells to stop
|
||||
moves objects with wand
|
||||
moves unconscious bodies
|
||||
conjures the dark mark
|
||||
prevents nearby people from listening to conversations
|
||||
counters lumos
|
||||
erases memories
|
||||
blindfolds the victim
|
||||
makes conjured items attack
|
||||
conjures a bunch of flowers
|
||||
packs a trunk (suitcase)
|
||||
removes pixies (maybe)
|
||||
binds body – unforgivable
|
||||
animates statues and armor suits
|
||||
makes wand act like a compass
|
||||
echoes most recent spells, result when brother wands duel
|
||||
reveals a wands last spell / cast
|
||||
causes spells to reflect back to the sender.
|
||||
protects one from dark magic
|
||||
protects area
|
||||
counters sonorus
|
||||
returns items to original size. counters engorgio
|
||||
blasts solid objects aside
|
||||
releases user from binding
|
||||
cures unconsciousness
|
||||
repairs things
|
||||
keeps muggles away
|
||||
tickles opponent
|
||||
turns boggart into ridiculous form so you can laugh it away
|
||||
protects against hexes
|
||||
destroys ectoplasm (remains of ghosts)
|
||||
causes wounds as if slashed by a sword
|
||||
produces snake
|
||||
silences victim
|
||||
amplifies voice
|
||||
reveals hidden secrets or magical properties
|
||||
knocks out opponent
|
||||
forces opponent to dance
|
||||
cleans up messes
|
||||
unsticks an object
|
||||
makes on object fly
|
BIN
selenidetraining/target/test-classes/tests/FellowshipTest.class
Normal file
BIN
selenidetraining/target/test-classes/tests/FellowshipTest.class
Normal file
Binary file not shown.
Binary file not shown.
BIN
selenidetraining/target/test-classes/tests/RandomTableTest.class
Normal file
BIN
selenidetraining/target/test-classes/tests/RandomTableTest.class
Normal file
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue
Block a user