commit a8f58c8ec400a6f0cdb90d7a18291c6d545a0323 Author: Lukáš Kaňka <124378142+LukasKanka@users.noreply.github.com> Date: Fri Aug 11 14:32:41 2023 +0200 first diff --git a/SeleniumBasic/.gitignore b/SeleniumBasic/.gitignore new file mode 100644 index 0000000..b189746 --- /dev/null +++ b/SeleniumBasic/.gitignore @@ -0,0 +1,40 @@ +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### IntelliJ IDEA ### +.idea/ +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 \ No newline at end of file diff --git a/SeleniumBasic/.idea/.gitignore b/SeleniumBasic/.idea/.gitignore new file mode 100644 index 0000000..13566b8 --- /dev/null +++ b/SeleniumBasic/.idea/.gitignore @@ -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 diff --git a/SeleniumBasic/.idea/encodings.xml b/SeleniumBasic/.idea/encodings.xml new file mode 100644 index 0000000..aa00ffa --- /dev/null +++ b/SeleniumBasic/.idea/encodings.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/SeleniumBasic/.idea/misc.xml b/SeleniumBasic/.idea/misc.xml new file mode 100644 index 0000000..82dbec8 --- /dev/null +++ b/SeleniumBasic/.idea/misc.xml @@ -0,0 +1,14 @@ + + + + + + + + + + \ No newline at end of file diff --git a/SeleniumBasic/.idea/vcs.xml b/SeleniumBasic/.idea/vcs.xml new file mode 100644 index 0000000..6c0b863 --- /dev/null +++ b/SeleniumBasic/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/SeleniumBasic/pom.xml b/SeleniumBasic/pom.xml new file mode 100644 index 0000000..e2f7698 --- /dev/null +++ b/SeleniumBasic/pom.xml @@ -0,0 +1,39 @@ + + 4.0.0 + kankys + SeleniumBasic + 1.0-SNAPSHOT + Archetype - SeleniumBasic + http://maven.apache.org + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.11.0 + + 17 + 17 + + + + + + + + org.seleniumhq.selenium + selenium-java + 4.11.0 + + + + + junit + junit + 4.13.2 + test + + + + diff --git a/SeleniumBasic/src/main/resources/META-INF/maven/archetype.xml b/SeleniumBasic/src/main/resources/META-INF/maven/archetype.xml new file mode 100644 index 0000000..ac91326 --- /dev/null +++ b/SeleniumBasic/src/main/resources/META-INF/maven/archetype.xml @@ -0,0 +1,9 @@ + + SeleniumBasic + + src/main/java/App.java + + + src/test/java/AppTest.java + + diff --git a/SeleniumBasic/src/main/resources/archetype-resources/pom.xml b/SeleniumBasic/src/main/resources/archetype-resources/pom.xml new file mode 100644 index 0000000..ac4b938 --- /dev/null +++ b/SeleniumBasic/src/main/resources/archetype-resources/pom.xml @@ -0,0 +1,15 @@ + + 4.0.0 + $kankys + $SeleniumBasic + $1.0-SNAPSHOT + + + junit + junit + 3.8.1 + test + + + diff --git a/SeleniumBasic/src/main/resources/archetype-resources/src/main/java/App.java b/SeleniumBasic/src/main/resources/archetype-resources/src/main/java/App.java new file mode 100644 index 0000000..9aa4a71 --- /dev/null +++ b/SeleniumBasic/src/main/resources/archetype-resources/src/main/java/App.java @@ -0,0 +1,13 @@ +package $kankys; + +/** + * Hello world! + * + */ +public class App +{ + public static void main( String[] args ) + { + System.out.println( "Hello World!" ); + } +} diff --git a/SeleniumBasic/src/main/resources/archetype-resources/src/test/java/AppTest.java b/SeleniumBasic/src/main/resources/archetype-resources/src/test/java/AppTest.java new file mode 100644 index 0000000..b4b733b --- /dev/null +++ b/SeleniumBasic/src/main/resources/archetype-resources/src/test/java/AppTest.java @@ -0,0 +1,38 @@ +package $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 ); + } +} diff --git a/SeleniumBasic/src/main/resources/drivers/geckodriver.exe b/SeleniumBasic/src/main/resources/drivers/geckodriver.exe new file mode 100644 index 0000000..1b5fc2f Binary files /dev/null and b/SeleniumBasic/src/main/resources/drivers/geckodriver.exe differ diff --git a/SeleniumBasic/src/test/java/ClickMeTest.java b/SeleniumBasic/src/test/java/ClickMeTest.java new file mode 100644 index 0000000..1f88a45 --- /dev/null +++ b/SeleniumBasic/src/test/java/ClickMeTest.java @@ -0,0 +1,39 @@ +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.chrome.ChromeDriver; + +public class ClickMeTest { + 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 + "/clickmebaby.php"); + // 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 + for (int i = 1; i <11 ; i++) { + driver.findElement(By.id("clickMe")).click(); + Assert.assertEquals(String.valueOf(i),driver.findElement(By.id("clicks")).getText()); + if (i==1){ + System.out.println("ověřujem slovo klik"); + Assert.assertEquals("klik",driver.findElement(By.className("desription")).getText()); + } + // dálší info video 28 + + } + } + @After + public void tearDown(){ + driver.quit(); + + } +} diff --git a/SeleniumBasic/src/test/java/CssSelectorTest.java b/SeleniumBasic/src/test/java/CssSelectorTest.java new file mode 100644 index 0000000..4b85a79 --- /dev/null +++ b/SeleniumBasic/src/test/java/CssSelectorTest.java @@ -0,0 +1,36 @@ +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 CssSelectorTest { + 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 + "/kalkulacka.php"); + // id + driver.findElement(By.cssSelector("button#count")).click(); + // class - trida + driver.findElement(By.cssSelector("button.btn-success")).click(); + + driver.get(BASE_URL + "/clickmebaby.php"); + // tlačítko je v poli container a v něm je button + driver.findElement(By.cssSelector("div.container button")).click(); + + + + } + @After + public void tearDown(){ + // driver.quit(); + + } +} diff --git a/SeleniumBasic/src/test/java/MySecondTest.java b/SeleniumBasic/src/test/java/MySecondTest.java new file mode 100644 index 0000000..97e83ef --- /dev/null +++ b/SeleniumBasic/src/test/java/MySecondTest.java @@ -0,0 +1,30 @@ +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; +// @neco je metota těmi začneme psát test +// void = metoda nevrací žádnou hodnotu +// setUP, test, tearDown názvy metod mohu si je pojmenovat jak chci + +public class MySecondTest { + 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 + "/clickmebaby.php"); + driver.findElement(By.id("clickMe")).click(); + + } + @After + public void tearDown(){ + driver.quit(); + + } +} diff --git a/SeleniumBasic/src/test/java/MyThirdTest.java b/SeleniumBasic/src/test/java/MyThirdTest.java new file mode 100644 index 0000000..27e7d31 --- /dev/null +++ b/SeleniumBasic/src/test/java/MyThirdTest.java @@ -0,0 +1,32 @@ +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; +// @neco je metota těmi začneme psát test +// void = metoda nevrací žádnou hodnotu +// setUP, test, tearDown názvy metod mohu si je pojmenovat jak chci + +public class MyThirdTest { + 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 + "/registracia.php"); + driver.findElement(By.name("email")).sendKeys("franta@borec.cz"); + driver.findElement(By.name("name")).sendKeys("Franta"); + driver.findElement(By.xpath("//form/div[3]/input")).sendKeys("frantík"); + + } + @After + public void tearDown(){ + driver.quit(); + + } +} diff --git a/SeleniumBasic/src/test/java/SelectTest.java b/SeleniumBasic/src/test/java/SelectTest.java new file mode 100644 index 0000000..385c1af --- /dev/null +++ b/SeleniumBasic/src/test/java/SelectTest.java @@ -0,0 +1,50 @@ +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.chrome.ChromeDriver; +import org.openqa.selenium.firefox.FirefoxDriver; +import org.openqa.selenium.support.ui.Select; + + +import java.util.concurrent.TimeUnit; + +import static org.junit.Assert.fail; + +public class SelectTest { + private WebDriver driver; + private final String BASE_URL = "http://localhost"; + private StringBuffer verificationErrors = new StringBuffer(); + + @Before + public void setUp() { + //System.setProperty("webdriver.gecko.driver", "src/test/resources/drivers/geckodriver.exe"); + driver = new ChromeDriver(); + driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS); + + + } + @Test + public void test(){ + driver.get(BASE_URL + "/vybersi.php"); + new Select(driver.findElement(By.className("form-control"))).selectByIndex(1); + new Select(driver.findElement(By.className("form-control"))).selectByValue("02"); + new Select(driver.findElement(By.className("form-control"))).selectByVisibleText("Pikachu"); + // výpis textu + System.out.println(driver.findElement(By.xpath("//div/h3")).getText()); + // kontrola jestli se v textu nalézá Pikachu + Assert.assertTrue("Pikachu se v textu nenachází", driver.findElement(By.xpath("//div/h3")).getText().contains("Pikachu")); + // kontrola jestli se nenalézé něco jiného v textu ( v tomto prípadě Gizela) + Assert.assertFalse(driver.findElement(By.xpath("//div/h3")).getText().contains("Gizela")); + } + @After + public void tearDown(){ + driver.quit(); + String verificationErrorString = verificationErrors.toString(); + if (!"".equals(verificationErrorString)) { + fail(verificationErrorString); + } + } +} diff --git a/SeleniumBasic/src/test/java/TabulkaTest.java b/SeleniumBasic/src/test/java/TabulkaTest.java new file mode 100644 index 0000000..23e4f99 --- /dev/null +++ b/SeleniumBasic/src/test/java/TabulkaTest.java @@ -0,0 +1,28 @@ +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 { + 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(); + + } + @After + public void tearDown(){ + driver.quit(); + + } +} diff --git a/SeleniumBasic/src/test/java/VzorTest.java b/SeleniumBasic/src/test/java/VzorTest.java new file mode 100644 index 0000000..df8bf9c --- /dev/null +++ b/SeleniumBasic/src/test/java/VzorTest.java @@ -0,0 +1,26 @@ +import org.junit.After; +import org.junit.Before; +import org.junit.Test; +import org.openqa.selenium.WebDriver; +import org.openqa.selenium.chrome.ChromeDriver; + +public class VzorTest { + 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); + + + } + @After + public void tearDown(){ + driver.quit(); + + } +} diff --git a/SeleniumBasic/src/test/java/XpathTest.java b/SeleniumBasic/src/test/java/XpathTest.java new file mode 100644 index 0000000..ce58c82 --- /dev/null +++ b/SeleniumBasic/src/test/java/XpathTest.java @@ -0,0 +1,27 @@ +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 XpathTest { + 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"); + driver.findElement(By.xpath("/html/body/div/div/table/thead/tr")); + + } + @After + public void tearDown(){ + // driver.quit(); + + } +}