úterý 3. října 2017

Testování PopUp pomocí Selenia

        [Test]
        public void WaitOnPopUp()
        {
            IWebDriver driver = new OpenQA.Selenium.Firefox.FirefoxDriver();
            driver.Navigate().GoToUrl("http://dinbror.dk/bpopup/");

            var list = driver.FindElements(By.CssSelector(".button.small.pop2"));
            list[4].Click();



            var w = new WebDriverWait(driver, TimeSpan.FromSeconds(30));
            w.Until((d) => {
                bool x = false;
                try {
                    x= driver.FindElement(By.XPath("//*/div[@id='popup2']/*/img")) != null;
                }
                catch (Exception ex)
                {
                }
                return x;
            } );

            driver.Close();
        }

XPath helper do Chrome

Při psaní UI testů se dost často hodí vyhledat ve stránce element pomocí XPath. Rozšíření do prohlížeče Chrome dokáže tuto otravnou činnost dost usnadnit.
Do levé části doplňku píšete XPath dotaz a v pravé se Vám zobrazuje výsledek dotazu.




Zdroj: 
https://chrome.google.com/webstore/detail/xpath-helper/hgimnogjllphhhkhlmebbmlgjoejdpjl?utm_source=chrome-app-launcher-info-dialog

neděle 27. srpna 2017

Chůvičku nebo WiFi IP kameru?

Nevýhody IP kamer:

  • aplikace padá, 
  • display na mobilu zhasíná (dá se nastavit v nastavení androidu nebo aplikací Lama)
  • trvá než se apka zapne.
  • Když vypadne spojení tak se neobnoví a ani nadá vědět (zvukovým signálem)
  • neukazují teplotu v pokoji
  • Nemají indikátor hluku

Na druhou stranu měli lepší kvalitu obrazu než chůvička.

Nevýhody chůvičky:
  • Cena (cca 8x dražší)
  • Nejde napájet z powerbanky (USB)  (Napájení z powerbanky se hodí pokud díte nespí v postýlce - kočár, obývák, atp.)
  • Nejde na ně koukat odjinud než z rodičovské jednotky (ano u dražších i z druhého konce světa)

Výhody IP kamer
  • Napájení z PowerBanky přes USB
  • Můžete koukat z více zařízení a nemáte doma další krám, který se musí nabíjet.

Výhody Chůviček
  • Nepotřebujete WiFi síť (chata, dovolená)
  • Nepotřebujete telefon, tablet, atp.
Funkce na něco:
  • Noční vidění
Funkce na nic:
  • Ukolébavky
  • 2x digitální Zoom
  • Obousměrná komunikace - Stačí slyšet že pláče


Motorola MBP 36 S - cca 4000,- Kč
https://chuvicky.heureka.cz/motorola-detska-chuvicka-mbp-36-s/

WiFi IP Camera - cca 500,-Kč ($21.71)
https://www.aliexpress.com/item/720P-HD-IP-Wifi-Camera-Onvif-2-1-Protocol-Network-Surveillance-Camera-With-Night-Version-Indoor/32717377111.html?spm=a2g0s.9042311.0.0.jHz1Du

Nastavení RTSP streamu
ve VLC Media/ Otevřít síťový proud
rtsp://192.168.1.102:10554/udp/av0_0
Zeptá se na heslo

pátek 25. srpna 2017

XSLT Nahrazení desetinné čárky za tečku

Je potřeba vytvořit XSLT šablonu aby bylo možné ze zdrojového feedu importovat stavy skladů do ERP Stormware Pohoda. Protože ale zdrojová data obsahují hodnotu s desetinnou čárkou namísto tečky, je potřeba ji nejprve nahradit. A až potom může být vložena sloupce VPrDPC, který je typu desetinné číslo.

<xsl:value-of select="translate(PRICE,',','.')" />

Zdroj:
https://stackoverflow.com/questions/11716358/replacing-characters-in-xslt-1-0
https://www.w3schools.com/xml/tryxslt.asp?xmlfile=cdcatalog&xsltfile=cdcatalog_if

pondělí 31. července 2017

Windows 10 start aplikace po spuštění

[Win] + [R] - shell:startup

C:\Users\[username]\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

VLC
run.bat
"C:\Program Files\VideoLAN\VLC\vlc.exe" rtsp://admin@192.168.0.104/play1.sdp -f

Zdroj
https://www.howtogeek.com/208224/how-to-add-programs-files-and-folders-to-system-startup-in-windows-8.1/

Zkraty pro Visual Studio


Formátování kódu
Ctrl+ECtrl+D to format the entire document.

Zdroj:
https://stackoverflow.com/questions/4942113/format-code-shortcut-for-visual-studio

Chyba při serializaci objektu pomocí XmlSerializer do existujícího souboru

<?xml version="1.0"?>
<RobotSettings xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <ComPortName>COM9</ComPortName>
  <BaudRate>9600</BaudRate>
  <AutoConnect>false</AutoConnect>
  <Velocity>100</Velocity>
  <MoveDuration>250</MoveDuration>
  <TurningDuration>250</TurningDuration>
  <QueueSize>6</QueueSize>
</RobotSettings>>ngDuration></RobotSettings>
Vyserializováním objektu do již existujícího souboru může dojít k chybě, která za "příznivých podmínek" tj. pokud výsledný text je delší než předchozí (a kompletně přepíše starou verzi), nemusí projevit.
Pokud je ale text kratší a vy použijete špatný FileMode - tak přepíše jen začátek a konec ponechá. Jak je vidět v příkladu. A to vede k nevalidnímu XML a chybě parsování a deserializace objektu.

using (FileStream myFileStream = new FileStream(FileName, FileMode.OpenOrCreate))
using (FileStream myFileStream = new FileStream(FileName, FileMode.CreateNew)) ->  již existuje.