Ranorex-Erweiterung (Edge/Chrome) auf einem Rechner ohne Internetverbindung installieren

Dieser Artikel ist eine Dublette zu: Ranorex Chrome Plugin manuell installieren (z.B. weil der Testcomputer nicht im Internet ist) | IT Kosmopolit (it-kosmopolit.de)

Load unpacked Extension

  • Gebe in Adressleiste chrome://extension bzw. edge://extension ein.
  • Schalte den Entwicklermodus ein.
  • Klicke auf Load Unpacked (im deutsch-sprachigen Browser präziser als Entpackte Dateien laden bezeichnet). Der Browser erwartet hier so etwas einzuladen:
Versucht man mit diesem Button eine .crx (also eine gepackte(=gezippte) Extension zu laden kommt entsprechend der Fehler, dass keine Manifestdatei gefunden wurde – mit diesem Button will er eben die ungepackten Dateien laden.
  • Gehe also in C:\Program Files (x86)\Ranorex\Studio\Ranorex Chrome Extension und lade diesen Ordner hoch.
  • Tipp von Ranorex: Inkognitomodus zulassen.

Disable developer mode extensions-Warnung ausschalten

Microsoft hat offiziell klargestellt, dass das Entfernen der Warnmeldung auch für Entwickler nicht möglich ist. (Quelle)

Offizielles von Ranorex

Von Ranorex finde ich hierzu keine offizielle Mitteilung, nur drei (für meine Situation nicht hilfreiche) Hinweise unter Important notes for testing with Google Chrome/MS Edge auf User Guide. Die dort erwähnte manifest-Datei ist die C:\Program Files (x86)\Ranorex\Studio\Bin\Ranorex.Plugin.ChromeMsgHost.manifest

Ansatz Registry-Eintrag

Scheinbar ist der übliche Ansatz über die Registry schwer/unmöglich, jedenfalls hat die Befolgung dieser Anleitung (Quelle) nicht funktioniert.

Ansatz via Testautomatisierung

Es bleibt immer die Alternative, den Prompt per Ranorex Modul während des Testruns wegzuklicken.

Das Prompt verschwindet jedoch auch manchmal für eine gewisse Zeit (z.B. kann man den Edge anweisen, dieses Prompt für zwei Wochen zu ignorieren). Wer sich dann nicht wieder in zwei Wochen mit diesem leidigen Thema herumschlagen möchte, kann den Prompt immer wieder erzeugen, indem er die Ranorex-Extension deaktiviert und anschließend wieder aktiviert.

Copy all images in folder recursively and prefix them with their average red value (RGB)

using namespace System.Drawing
Add-Type -AssemblyName System.Drawing # Specify System.Drawing.Common on PS Core

$pathToFolder =  'C:\Users\Michael\Pictures\AllPictures\'
$pathToTargetFolder = $pathToFolder + 'prefixedPictures_' + $((Get-Date).ToString("yyyyMMdd_HHmmss"))
New-Item $pathToTargetFolder -ItemType Directory

$Files = @(Get-ChildItem -Path $pathToFolder -Filter *.jpg)
foreach ($i in $Files){
	# Copy action
	$fileName = $i.Basename
	$fileExtension = $i.Extension
	$fullFileName = $fileName + $fileExtension
	$fullPathOfFileInSourceFolder = $pathToFolder + $fullFileName
	$fullPathOfFileToTargetFolder = $pathToTargetFolder + '\' + $fullFileName
	Copy-Item $i.FullName -Destination $fullPathOfFileToTargetFolder
	
	# get average red value of picture
	$BitMap = [Bitmap]::FromFile((Resolve-Path $fullPathOfFileInSourceFolder).ProviderPath)

	$rotWerte = 0
	$anzahlPixel = 0
	foreach($h in 1..$BitMap.Height){
		foreach($w in 1..$BitMap.Width) {
			$rotWerte = $rotWerte + $BitMap.GetPixel($w - 1,$h - 1).R
			$anzahlPixel = $anzahlPixel + 1
		}
	}
	$rotDurchschnittsWert = $rotWerte / $anzahlPixel
	
	# rename files in target folder
	$newFullFileName = 'red' + $rotDurchschnittsWert + "__" + $fullFileName
	Rename-Item $fullPathOfFileToTargetFolder $newFullFileName
	echo 'new' + $newFullFileName + 'was created.'
}

Powershell: Bilddatei mit Ihrem durchschnittlichen Rotwert präfixen

using namespace System.Drawing
Add-Type -AssemblyName System.Drawing # Specify System.Drawing.Common on PS Core

$filename = 'DSCI0001.jpg'
$filepath =  'C:\Users\Michael\Pictures\AllPictures\'
$filepathComplete = $filepath + $filename
$copyFilenameComplete = $filepath + 'copy' + $filename

Copy-Item -Path $filepathComplete -Destination $copyFilenameComplete

$BitMap = [Bitmap]::FromFile((Resolve-Path $filepathComplete).ProviderPath)

$rotWerte = 0
$anzahlPixel = 0
foreach($h in 1..$BitMap.Height){
  foreach($w in 1..$BitMap.Width) {
    $rotWerte = $rotWerte + $BitMap.GetPixel($w - 1,$h - 1).R
	$anzahlPixel = $anzahlPixel + 1
  }
}
$rotDurchschnittsWert = $rotWerte / $anzahlPixel
$newFileName = 'red' + $rotDurchschnittsWert + "__" + $filename

Rename-Item $copyFilenameComplete $newFileName