středa 24. září 2014

Selenium RC

Selenium Server
Proč bych měl pouštět testy na svém počítači když to můžu nechat na nějakém jiném? Selenium umožňuje spouštět testy vzdáleně na Selenium serveru. Stačí na počítači nainstalovat Javu a ze stránek selenia stahneme aplikaci selenium server.

Pluralsight - Starting Selenium Server

Instalace:
Na počítači kde chceme selenium server spustit potřebujeme nainstalovat Javu. Instalátor získáme na adrese
http://www.oracle.com/technetwork/java/javase/downloads/jdk-netbeans-jsp-142931.html

Potom stáhneme samotný Selenium Server z adresy http://selenium-release.storage.googleapis.com/2.43/selenium-server-standalone-2.43.1.jar
Nakopírujeme ho do bin adresáře právě nainstalované Javy.
Pak už jen spustím server pomocí příkazu
java -jar selenium-server-standalone-2.43.1.jar

Na počítači musí být také nainstalovaný prohlížeš FireFox, pokud nechcete používat předinstalovaný Internet Explorer.

Ve zdrojovém kódu Selenium testů provedeme malou úpravu kde zaměníme

Instance = new FirefoxDriver();

za

Instance = new RemoteWebDriver(new Uri("http://localhost:4444/wd/hub"), DesiredCapabilities.Firefox());

V tomto kódu určíme adresu a port selenium serveru a všechny testy se budou provádět na právě nainstalovaném serveru.

Testovací metoda pak může vypadat nějak takto:

[TestMethod]
        public void TestMethod1()
        {
            var Instance = new RemoteWebDriver(new Uri("http://192.168.0.24:4444/wd/hub"), DesiredCapabilities.Firefox());
            var n = Instance.Navigate();
            n.GoToUrl("http://www.seznam.cz");
            var el = Instance.FindElement(By.Name("q"));
            el.SendKeys("Zbynek Sulc Blog");

            var btn = Instance.FindElement(By.Id("hledej"));
            btn.Click();
            Thread.Sleep(3000);
            Instance.Quit();
        }


Selenium Server Grid Mode
Několik instancí serveru umožňují spouštět servery paralelně na různých prohlížečích.

Android selenium server 
Jak testovat weové aplikace na platformě android se dočtete na tomto webu
https://code.google.com/p/selenium/wiki/AndroidDriver#Using_the_Remote_Server
Do mobilu je potřeba nainstalovat servrovou aplikaci
android-server-2.21.apkhttps://code.google.com/p/selenium/downloads/detail?name=android-server-2.21.0.apk

Tento projekt je již ale zastaralý a vystřídal ho projekt Selendroid
http://selendroid.io/mobileWeb.html

Zdroje:
  1. http://pluralsight.com/training/Player?author=john-sonmez&name=selenium-m5-server&mode=live&clip=0&course=selenium
  2. http://pluralsight.com/training/courses/TableOfContents?courseName=selenium&highlight=john-sonmez_selenium-m2-ide*4#selenium-m2-ide


úterý 16. září 2014

Active 24 a WebDeploy z Visual Studia

O kunfiguraci WebDeploy na hosting Active 24 jsem se nikde nic nedočetl ani se mi nepodařilo nic vygooglit. V zoufalství jsem se pokusil o deploy pomocí FTP, ale to z nějakého důvodu z Visual Studia nefungovalo. (soubory se na hostingu neobjevily). TotalCommandrem se mi povedlo přenést soubory z adresáře obj\Release\Package\PackageTmp a web zprovoznit.

Po několika mailech s technickou podporou se mi podařilo zjistit od administrátora, že hodnota Site/application je něco ve smyslu 24631 - v417815 (mezery kolem pomlčky jsou důležité)

Do té doby mi průvodce po stisknutí tlačítka [Validate Connection] vracel chybovou hlášku:
Web deployment task failed. (Connected to the destination computer ("www.seznam.cz") using the Web Management Service, but could not authorize. Make sure that you are using the correct user name and password, that the site you are connecting to exists, and that the credentials represent a user who has permissions to access the site.)
Pak vše začalo fungovat jak má.



Když jsem pro další projekt chtěl po helpdesku zjistit správný řetězec pro novou doménu, tak mi prozradil sladké tajemství ;)

Potřebné údaje jsou vždy po zřízení hostingu uloženy ve složce wwwrootu v souboru
web.PublishSettings

<?xml version="1.0" encoding="utf-8"?>
<publishData>
 <publishProfile
 profileName="MSDeploy"
 publishMethod="MSDeploy"
 publishUrl="pink.globenet.cz"
 msdeploySite="24631 - v417815"
 userName="v417815a"
 userPWD="HCRcpfOIqNc5"
 destinationAppUrl="http://seznam.cz.pink.globenet.cz/"
 controlPanelLink="http://centrum.active24.cz/" /> 
</publishData>