This is UltimateRPA Documentation
Trezor

Spravování přihlašovacích údajů

Pro práci s hesly je robot opatřen funkcemi na komunikaci s trezorem pověření (Windows Vault), umožňující jak uložení nových přihlašovacích údajů, tak jejich načtení pro přihlašování do aplikací pomocí robota. Užitím těchto funkcí se vyhneme psaní hesel přímo do robotizačního skriptu. Uložené přístupové údaje lze spravovat ve Správci pověření.

Ukládání hesel

Ukládání hesel do trezoru je vhodné provádět ve zvláštním skriptu. Pro uložení hesla slouží funkce set_password.

V dalším textu budeme ilustrovat užití trezoru na logování do aplikace RpaLoginTest, proto jako parametr system užijeme "RpaLoginTest". Pro úspěšné přihlášení do aplikace slouží Username "RPA_test_user" a Password "12345".

V aplikaci PyScripter vytvoříme nový soubor a uložíme jej. Do skriptu nejprve importujeme modul urpa a ve funkci main zavoláme funkci set_password.

import urpa
def main():
urpa.set_password("RpaLoginTest", "RPA_test_user", "12345")

Stisknutím klávesové zkratky ALT + F9 spustíme skript, který uloží přihlašovací údaje pro adresu "RpaLoginTest" do trezoru pověření. Takto je nutno ukládat heslo zvlášť pro každého uživatele používajícího skript s danými přístupovými údaji, protože správce pověření ukládá hesla zvlášť pro jednotlivé uživatele.

Logování do aplikací

Pokud chceme získat heslo z trezoru, zavoláme funkci get_password. Užití funkce si ilustrujeme na přihlášení do aplikace RpaLoginTest. V PyScripteru vytvoříme nový soubor a uložíme jej. Do skriptu nejprve importujeme modul urpa, do globální proměnné uložíme username užité pro přihlašování a vytvoříme instanci třídy ConditionFactory.

import urpa
USERNAME = "RPA_test_user"

V definici funkce main spustíme aplikaci RpaLoginTest voláním funkce exec_app, metodou find_first najdeme username editbox a metodou send_text odešleme přihlašovací jméno do nalezeného editboxu. Hodnota napsaná do username editboxu je uložena ve vnitřní hodnotě value (to je patrné užitím Inspectoru), její volání nám umožní kontrolu, že hodnota je zadaná správně.

import urpa
USERNAME = "RPA_test_user"
def main():
app = urpa.exec_app("TutorialApps/RpaLoginTest.exe")
user_box = app.find_first(cf.edit().name("Username"))
user_box.send_text(USERNAME)

Cesta k aplikaci "TutorialApps/RpaLoginTest.exe" je relativní od umístění spouštěného skriptu a předpokládá, že skript je uložený v hlavní složce s nástroji UltimateRPA. Pokud je váš skript uložený jinde, nezapomeňte cestu upravit.

Po spuštění skriptu bychom měli vidět zapnutí aplikace a vyplění editboxu username.

RpaLoginTest.png
Obrázek 1 Okno aplikace RpaLoginTest
Vault_username_filled.png
Obrázek 2 Vyplněné username

Obdobným způsobem nalezneme password editbox a zavoláním funkce get_password získáme heslo z trezoru pověření, které napíšeme do editboxu voláním metody send_text. Ověření, zda je heslo zadáno správně, provedeme pokusem o přihlášení. Najdeme tlačítko login a metodou send_mouse_click na něj klikneme. Jako ověření úspěšného přihlášení se pokusíme najít zprávu "Login was successful"

import urpa
USERNAME = "RPA_test_user"
def main():
app = urpa.exec_app("TutorialApps/RpaLoginTest.exe")
user_box = app.find_first(cf.edit().name("Username"))
user_box.send_text(USERNAME)
pass_box = app.find_first(cf.edit().name("Password"))
pass_box.send_text(urpa.get_password("RpaLoginTest", USERNAME))
app.find_first(cf.button().name("Login")).send_mouse_click()
app.find_first(cf.regexp("^Login was successful"))

Nakonec celý skript uložíme a spustíme.

Vault_password_filled.png
Obrázek 3 Vyplněné heslo
Vault_login_successful.png
Obrázek 4 Úspěšné přihlášení