# Selenium
## 1. Einrichtung
auf Homepage gehen
https://www.selenium.dev
dort Webdrive runterladen für Java
dann Datei entpacken
>Dennis Eickholt: Ich weiß noch nicht, wofür man das runtergeladen hat, weil man es noch nicht angewendet hatte
Dann für Chrome chromedriver installieren (https://chromedriver.chromium.org/downloads)
oder für Firefox Geckodriver (https://github.com/mozilla/geckodriver/releases)
dafür die Datei runterladen und in einen Pfad speichern, dieser Pfad wird nachher gebraucht in Java/Maven!!!
Dann in Intellji Marven Project erstellen mit Java 1.8
In der POM.xml die folgende dependency hinzufügen: (unter "<modelVersion>" und über "<groupID>")
```
<dependencies>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>3.141.59</version>
</dependency>
</dependencies>
```
dann neu aktualisieren lassen (oder AutoImport)
Dann im "main/java"
eine Klasse "Main" mit Großem M einstellen
dort public Class Main
und dort PSVM
dann als erstes den den Pfad von Geckodrive bzw chromedrive setzen und dem Rumpf zum testen erstellen (siehe folgendes Beispiel):
```
public class Main {
public static void main(String[] args) {
System.setProperty("webdriver.chrome.driver","D:\\Studium\\CertifiedTester\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.get("https://ct.informatik.haw-hamburg.de/tessa_tac_toe/");
// testcases
driver.findElement(By.id("cell-0")).click();
driver.findElement(By.id("cell-1")).click();
// testcases ende
driver.close();
}
}
```
Tutorial durcharbeiten:
https://www.selenium.dev/documentation/en/getting_started/
## Aufgabe:
Folgende Seite soll getestet werden
https://ct.informatik.haw-hamburg.de/tessa_tac_toe/
mit den Fehlern, welche hier festgestellt wurden:
https://users.informatik.haw-hamburg.de/~buth/pub/WP-CT-20wise/Aufgaben-20wise/WP-CT-20wise-Aufg2-Web-Test-material/Fehlerbeschreibtung.pdf
zusammengefasst:
1. Kästchen unten rechts macht links daneben Symbol
2. "L"-Sieg
3. Spieler 1 nach Formel, Spieler 2 -1 bei Sieg
4. i und ! führen zum Sieg (Senkrecht 3, egal wie)
5. Symbole X und Tessa Rot Funktioniert
6. 20. Klick oben links
7. "V"-Sieg
8. Unentschieden kann erreicht werden, obwohl noch Felder für mögliche Spielzüge offen sind
oxxo-
xoox-
oxxo-
xoox-
resultiert in Unentschieden
9. "\"-Sieg funktioniert nicht, wenn die äßerste rechte Spalte dabei involviert ist
10. Feld [4][0] wird nicht ausgewertet