Neues Feature für Web Transactions

    This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

    • Neues Feature für Web Transactions

      Hallo zusammen,

      mit dem nächsten Update der Pakete bloonix-webgui und bloonix-plugins-wtrm gibt es ein neues Feature für die Web Transaction, das es ermöglicht, bei der Angabe eines Elements, auch nach Tags und Attributen zu suchen.

      Bislang war es nur möglich, im HTML-Content nach id="any-id", class="any-class" oder auch name="any-name" zu suchen. Wollte man auf einem bestimmten Link klicken, so ging dies nur, wenn man dem Link eine ID verpasste.

      So zum Beispiel in dem folgenden HTML-Snippet:

      Source Code

      1. <ul id="nav">
      2. <li><a href="/foo">Foo</a></li>
      3. <li><a id="click-me" href="/bar">Bar</a></li>
      4. <li><a href="/baz">Baz</a></li>
      5. </ul>


      Hatte man den Wunsch, in einer Transaction auf den Link /bar zu klicken, so musste man die eindeutige ID verwenden (click-me):

      Source Code

      1. Action: clickOnElement
      2. Element: #click-me


      Ab jetzt geht es auch anders! Nehmen wir zum Beispiel mal an, wir haben eine Liste von Links:

      Source Code

      1. <ul id="nav">
      2. <li><a href="/foo">Foo</a></li>
      3. <li><a href="/bar">Bar</a></li>
      4. <li><a href="/baz">Baz</a></li>
      5. </ul>


      Möchte man in dieser Liste nun den zweiten Link (/bar) anklicken, so kann man als Element folgende Angabe machen:

      Source Code

      1. Action: clickOnElement
      2. Parent: #nav
      3. Element: <a[2]>


      Man kann das ganze sogar noch an Attribute knüpfen, die vorhanden sein müssen:

      Source Code

      1. <ul id="nav">
      2. <li><a data-attr="foo" href="/foo">Foo</a></li>
      3. <li><a data-attr="bar" href="/bar">Bar</a></li>
      4. <li><a data-attr="baz" href="/baz">Baz</a></li>
      5. </ul>


      Um hier nun den zweiten Link anklicken zu können, wird im Element zusätzlich das Attribut und der Wert angegeben:

      Source Code

      1. Action: clickOnElement
      2. Parent: #nav
      3. Element: <a data-attr="bar">


      In diesem Fall würde nach einem a-Tag und dem Attribut+Wert data-attr="bar" gesucht.

      Ich hoffe, dass hiermit die Einrichtung der Web-Transaction deutlich einfacher wird.

      Viele Grüße
      Jonny
    • Hi Philip,

      dieser Teil ist noch nicht dokumentiert, aber ich erkläre es gerne kurz.

      Damit über die WebGUI die Transactions getestet werden können, wird der Serverdienst bloonix-wtrm benötigt.

      Editiere bitte die Sektionen wtrm_api_key und wtrm_api in der Konfigurationsdatei der WebGUI /etc/bloonix/webgui/main.conf. Generiere einen API Key und trage ihn dort ein.

      Dann installiere auf einem Server das Paket bloonix-wtrm. Die Konfigurationsdatei lautet /etc/bloonix/wtrm/main.conf. Trage dort ebenfalls den API Key ein. Starte/Restarte den Dienst. Kurzer Hinweis: hier wird - wie beim bloonix-server - ein SSL-Key-Pair nach der Installation des Pakets erzeugt. Wenn du das verwenden möchte, musst du nichts mehr in der Konfig ändern. In der Konfiguration der WebGUI musst du nur ssl_verify_mode none in der Sektion wtrm_api setzen.

      Die WebGUI verbindet sich mit dem Dienst und die Daten werden zwischen bloonix-wtrm und WebGUI "gestreamed".

      Hinweis: Aus Sicherheitsgründen sollte phantomjs mit dem WTRM Kram auf einem extra Server laufen, so auch wie der Agent, der die Remote Checks ausführt.

      Viele Grüße
      Jonny
    • Jonny wrote:

      Top! :)

      Doch nicht so ganz. Lokal hat es funktioniert, nun hab ich es auf einem extra Server getestet.

      Ergebnis aus dem Log:

      Source Code

      1. [May 19 2015 06:29:36] NOTICE 1791 563.174692 [y▒▒ request started (1432030813.24667s) (/usr/bin/bloonix-wtrm, line 65)
      2. [May 19 2015 06:29:36] NOTICE 1791 0.081870 [y▒▒ process action test (/usr/bin/bloonix-wtrm, line 175)
      3. [May 19 2015 06:29:36] NOTICE 1791 0.006151 [y▒▒ request finished (563.247s) (/usr/bin/bloonix-wtrm, line 68)

      Würde ich vermuten es hat geklappt.

      WebGUI sacht aber:
      Sorry, aber diese Funktion ist nicht verfügbar!


      Mein Status: Verwirrt!

      Update: Scheint bei PhantomJS auf dem anderen Server ein Problem zu geben.
    • Moin,

      also es war Tatsächlich PhantomJS, nun hab ich aber das Problem das ich folgenden Fehler beim Installieren von PhantomJS bekomme:

      Source Code

      1. collect2: error: ld returned 1 exit status
      2. make[2]: *** [../../bin/jsc] Fehler 1
      3. make[2]: Leaving directory `/home/test/phantomjs-2.0.0/src/qt/qtwebkit/Source/JavaScriptCore'
      4. make[1]: *** [sub-jsc-pro-make_first-ordered] Fehler 2
      5. make[1]: Leaving directory `/home/test/phantomjs-2.0.0/src/qt/qtwebkit/Source/JavaScriptCore'
      6. make: *** [sub-Source-JavaScriptCore-JavaScriptCore-pro-make_first-ordered] Fehler 2


      Das Problem hatte ich bei der Installation vorher nicht. Jemand eine Idee was da los ist? Google sagt mir nicht viel!