Archiv der Kategorie: Ranorex

Ranorex Adapter/Role

Ranorex scheint  adapter in role umbenannt zu haben. Jedenfalls wird Form in dieser offiziellen pdf-docu noch als  primary adapter bezeichnet und in dieser offiziellen html-docu als role.

Der Adapter ist eine zentrale Entität in Ranorex und zählt zahlreiche Properties – die Auswahl der wichtigsten:

  • Screenrectangle (Advanced -> Layout) beschreibt X- und Y-Position (ausgehend von der linken oberen Monitorecke) sowie Breite und Höhe. Exakt diese Daten in genau dieser Reihenfolge werden auch optisch unter dem Titel herausgehoben:

  • Flavorname (Advanced -> General) gibt einen Hinweis auf das dahinterliegende Gebilde. Werte von Elementen einer Desktop-Anwendung sind bsps.weise msaa, winforms, win32
  • Location (Advanced -> Dynamic) gibt die X- und Y-Position (ausgehend von der linken oberen Ecke des Parent-Elements) an. (Achtung: Es gibt in Ranorex auch irritierenderweise eine Klasse Ranorex.Location, deren x- und y-Werte jedoch die Distanz zur oberen linken Ecke des Elements selbst darstellt.)

MyRepoObject.Element.Location.X

Gelöst: Ranorex Firefox Plugin Update nicht möglich

Aus irgendwelchen mysteriösen Gründen scheitert bei mir der Ranorex Instrumentation Wizard von Zeit zu Zeit die Firefox Extension Ranorex Automation upzudaten.
Update von v1.0.39 auf v1.0.40 (Ranorex v8.0.0)
Gelöst durch manuelles Installieren aus C:\Program Files (x86)\Ranorex 8.0\Ranorex Firefox Extension
Update von v1.0.3 auf v1.0.9 (Ranorex v6.1.1.)
Ein Direkt-Download und -install aus dem Firefox heraus tut da manuell&schnell Abhilfe: http://ranorex.com/firefox-extension-1.0.9.xpi

Testautomatisierung von CSS content

Die CSS-Eigenschaft content erzeugt Inhalte im Browser, die nicht gerendert werden und keine Auswirkungen auf’s DOM haben. Wird im Zusammenhang mit den Pseudo-Elementen ::before und ::after benutzt. Hier ein sehr gut erläuterndes Beispiel. Hier ein Live-Beispiel.
Das DOM schaut im Chrome dann so aus – ::before gibt einen Hinweis darauf, dass an dieser Stelle von der content-Eigenschaft Gebrauch gemacht wird:

Und im Internet Explorer sieht das dann so aus:

 

Selektierung in Selenium

generisch nicht möglich, daher Workaround via JavaScript: http://stackoverflow.com/a/28265738
 

Selektierung in Ranorex

Mittels „ExecuteScript“ kann auch CSS Content einer Website ausgelesen werden.
Sample Page:
https://codepen.io/anon/pen/gWYVZE
Rx User Code:

IFrameTag fr = "/dom[@domain='codepen.io']//iframe[@id~'iFrameKey-.*']";
var script = "return window.getComputedStyle(document.getElementById(\'test\'),':before').getPropertyValue('content')";
var cssContent = fr.ExecuteScript(script);