2012-07-13 8 views
5

Wiem, że mogę uzyskać dostęp do pojedynczego elementu z obiektu słownika w tym formacie $ {dict ['KEY']}. Tak:Jak ustawić wartość elementu słownika na wynik słowa kluczowego w programie Robot Framework?

| | Log | ${dict['KEY']} | 

I mogę ustawić regularny stary skalarne takiego:

| | ${scalar}= | RFKeyword | "Yowp" 

Ale gdy próbuję ustawić słownika elementu jak ten

| | ${dict['KEY']}= | RFKeyword | "Yowp" 

otrzymuję „RFKeyword "," Yowp "w zmiennej, a nie wynik tego, co RFKeyword produkuje podczas przetwarzania" Yowp ", tak jak robię to z tym

| | ${scalar}= | RFKeyword | "Yowp" 

Pomoc proszę

+0

Czy mogę uruchomić sojusznik zaklął StackOverflow? Nie sądziłem, że to możliwe. –

Odpowiedz

3

Musisz tylko zmienić sposób, w jaki to nazywasz. Więc dla danego słowa kluczowego, w którym chcesz zwracane dane, aby przejść do słownika trzeba wykonać następujące czynności:

${scalar}= | RFKeyword | "Yowp" 
Set To Dictionary | ${dict} | KEY | ${scalar} 
+0

Ale nie chcę w ogóle skalaru. Chcę, aby wynik słowa kluczowego trafił bezpośrednio do słownika. –

6

Jak zapewne zorientowali się, nie można przypisać do słownika ze słów kluczowych. Trzeba bardzo ściśle przestrzegać składni słownika. możesz zwracać zmienne tylko do list lub skalarów.

Ramy robota nie są w pełni rozwiniętym językiem programowania, a nie powinny. Używając pośredniego skalaru, nietechniczne testerzy powinni lepiej zrozumieć, co robi.

Dodałem to, ponieważ wyszukiwarka google "słownik ram robotów" ma to pytanie wysoko na liście. Wystarczy utworzyć słowniki z:

Create dictionary | ${my_dict} | a | b 

Dodaj do słowników z:

set to dictionary | ${my_dict} | c | d 

i pobrać ze słowników z:

${my_dict["a"]} 

Lub, jeśli trzeba nie powiedzie:

${my_dict.get('non-key','default value')} 
Powiązane problemy