Я использую Крепление для мостовидного протеза Selenium Fitnesse, чтобы писать тесты в Fitnesse для Selenium. Это здорово, потому что оно охватывает ВСЕ функций, которые есть в Selenium. Однако проблема, с которой я сталкиваюсь, заключается в хранении переменных, как в Selenium IDE.
| !- fixtures.SeleniumFixture -!| | setup | http://www.google.com/ | *chrome /usr/lib/firefox-3.0.5/firefox | | open | http://www.google.com/ | | | storeLocation | here | | | echo | ${here} | |
Что-то столь же простое, как это, должно работать нормально, но когда я сохраняю тест, я получаю сообщение об ошибке undefined variable.
| storeLocation | here | | | echo | undefined variable: here | |
Это просто не имеет смысла. Я определяю переменную в строке, прежде чем повторить ее. Когда я запускаю тест, я получаю:
| storeLocation | here | | | echo | undefined variable: here | undefined variable: here |
Автор делает то же самое с его тесты. Почему это не сработает для меня?
Проблема в том, что Фитнес запутался. Он думает, что вы не определяете переменную.
!define variable {variable} | echo | ${variable} | |
Чтобы избежать недоразумений Фитнеса, нужно избежать имени переменной, заключив его в знак! - - !.
| storeLocation | here | | | echo | ${!-here-!} | |
Теперь это будет отражать желаемый ответ.
| !- fixtures.SeleniumFixture -!| | setup | http://www.google.com/ | *chrome /usr/lib/firefox-3.0.5/firefox | | open | http://www.google.com/ | | | storeLocation | here | | | echo | ${here} | http://www.google.com |