Archiv der Kategorie: Selenium/WebDriver

Selenium via PHP

Requirements
Selenium
Download Java und füge den Pfad zu Path-Variable hinzu.
Download jüngste selenium-server-standalone-3.9.1.jar
Run .jar:

java -jar <jar-file-name>.jar
Erfolgskontrollen:
-> 13:58:42.164 INFO - Selenium Server is up and running on port 4444
-> http://localhost:4444/wd/hub

Download Chrome
Download Chrome-Driver und starte ihn.
 
PHP
Download XAMP und füge das PHP-Root-Verzeichnis in Path-Variable ein.
Download Composer ( Ohne Composer geht’s nicht, weil der komplette facebook/webdriver dementsprechend aufgebaut ist. Wenn Dein Computer hinter einem Firmenproxy steht, dann gib beim Installations-Wizard-Schritt “Proxy” den Proxy im Format: http://username:password@webproxy.com:port an. )
php composer.phar require facebook/webdriver
Windows Explorer -> Ansicht -> Anhaken Dateinamenserweiterung
Dieses Beispielsskript als example.php in php root-Ordner abspeichern.

php example.php

-> dies hat bei mir einen Proxy-Error ausgelöst. An dieser Stelle habe ich das Thema aus Zeitgründen abbrechen müssen, aber ohne Proxy sollte es an dieser Stelle laufen.
 
Quellen:
SauceLabs-Anleitung
facebook/php-webdriver

WinAppDriver: Drag'n'Drop Beispiel

Vorher natürlich WinAppDriver installieren und starten.

using System;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using OpenQA.Selenium.Remote;
using OpenQA.Selenium.Appium.Windows;
using System.Threading;
namespace UnitTestProject2
{
    [TestClass]
    public class UnitTest1
    {
        [TestMethod]
        public void NotepadTest()
        {
            DesiredCapabilities desiredCapabilities = new DesiredCapabilities();
            desiredCapabilities.SetCapability("app", @"C:\Windows\System32\notepad.exe");
            WindowsDriver<WindowsElement> session = new WindowsDriver<WindowsElement>(new Uri("http://127.0.0.1:4723"), desiredCapabilities);
            Thread.Sleep(2000); // damit man die Drag'n'Drop Action besser sieht
            WindowsElement eckeInNotepad = session.FindElementByName("Ziehpunkt");
            session.Mouse.MouseMove(eckeInNotepad.Coordinates, 15, 15);
            Thread.Sleep(2000); // damit man die Drag'n'Drop Action besser sieht
            session.Mouse.MouseDown(eckeInNotepad.Coordinates);
            session.Mouse.MouseMove(eckeInNotepad.Coordinates, -200, 200);
            session.Mouse.MouseUp(null);
        }
    }
}