Ich habe gesucht und gesucht und kann keine Antwort finden. Ich verwende Java-Properties-Dateien für meine Testdaten. Ich brauche eine Möglichkeit, die Datei .properties zu durchlaufen und eine Karte nur bestimmter Schlüssel zu erstellen. Die Struktur des Abschnitts der .properties-Datei ich will, ist:Laden einer Karte aus einer Datei java.properties mit bestimmten Schlüsseln
emulator.Android.driver.URL = https://emulator.com:443/wd/hub
emulator.Android.driver.appiumVersion = 1.7.1
emulator.Android.driver.deviceOrientation = portrait
emulator.Android.driver.browserName = ""
emulator.Android.driver.app = myApp.apk
emulator.Android.driver.platformName = Android
emulator.Android.driver.platformVersion = 6.0
emulator.Android.driver.name = sSuiteName
emulator.Android.driver.deviceName = Android Emulator
emulator.Android.driver.appPackage=com.app.android.debug
emulator.Android.driver.appActivity=com.app.android.LaunchActivity
emulator.iOS.driver.URL = https://emulator.com:443/wd/hub
emulator.iOS.driver.appiumVersion = 1.7.1
emulator.iOS.driver.deviceOrientation = portrait
emulator.iOS.driver.browserName = ""
emulator.iOS.driver.app = myApp.zip
emulator.iOS.driver.platformName = iOS
emulator.iOS.driver.platformVersion = 10.2
emulator.iOS.driver.deviceName = iPhone Simulator
emulator.iOS.driver.bundleId=com.qa
live.Android.driver.URL = https://live.com/wd/hub
live.Android.driver.apiKey = myKey
live.Android.driver.appiumVersion = 1.7.1
live.Android.driver.deviceOrientation = portrait
live.Android.driver.browserName = ""
live.Android.driver.app = myApp.apk
live.Android.driver.platformName = Android
live.Android.driver.platformVersion = 6.0
live.Android.driver.appPackage=com.app.android.debug
live.Android.driver.appActivity=com.app.android.LaunchActivity
live.iOS.driver.URL = https://live.com/wd/hub
live.iOS.driver.apiKey = myKey
live.iOS.driver.appiumVersion = 1.7.1
live.iOS.driver.deviceOrientation = portrait
live.iOS.driver.browserName = ""
live.iOS.driver.app = myApp.zip
live.iOS.driver.platformName = iOS
live.iOS.driver.platformVersion = 10.2
live.iOS.driver.name = sSuiteName
live.iOS.driver.bundleId=com.qa
HINWEIS: Es gibt noch andere Eigenschaften in dieser Datei, aber ich will nur das oben. Mein Ziel ist es, alle Eigenschaften wie emulator.Android.driver zu extrahieren. * Entfernen Sie den Emulator.Android.driver. und mit einer Karte enden. Angenommen, ich möchte die Eigenschaften für den unter iOS ausgeführten Emulator extrahieren. Ich würde mit einer Karte aufzuwickeln, die enthalten würde:
URL = https://emulator.com:443/wd/hub
appiumVersion = 1.7.1
deviceOrientation = portrait
browserName = ""
app = myApp.zip
platformName = iOS
platformVersion = 10.2
deviceName = iPhone Simulator
bundleId=com.qa
Nächster Lauf ich mit Android Live wählen könnte und sollte mit der Karte aufzuwickeln enthält:
URL = https://live.com/wd/hub
apiKey = myKey
appiumVersion = 1.7.1
deviceOrientation = portrait
browserName = ""
app = myApp.apk
platformName = Android
platformVersion = 6.0
appPackage=com.app.android.debug
appActivity=com.app.android.LaunchActivity
Kann jemand mich in die richtige Richtung ?
Was haben Sie bisher versucht? – Mureinik
Siehe https://stackoverflow.com/questions/17209260/converting-java-util-properties-to-hashmapstring-string –
Zwei mögliche Ansätze. (1) Laden Sie zuerst alle Eigenschaften, dann durchlaufen Sie die resultierende Map und kopieren Sie die benötigten Eigenschaften in eine neue Map. (2) Schreiben Sie eine Wrapper-Klasse, die 'Map' implementiert, speichert alle Eigenschaften, fügt aber' emulator.Android.driver' hinzu, wenn die Suche durchgeführt wird. –