Обратите внимание, что я не гава-джава. Я не могу использовать правильную терминологию, я изучаю Java на RFT на лету. То, что описано ниже, работает точно так, как указано.
В ruby мы можем кодировать как
(code to execute) if (condition)
Я хочу сделать то же самое, чтобы мой код RFT (Rational Functional Tester) был легко читаемым. Я собираюсь вызывать мои пользовательские функции таким образом, что выглядит как
findANDclick(new String[]{"id", "menuButton"});
findANDclick(new String[]{"src", ".*homeicon_calendar.*"});
findANDclick(new String[]{"src", ".*cycle_templates.*"});
Но весь сценарий RFT должен завершиться и не выполнять никакого другого кода в случае сбоя любой из функций findANDclick. Функция ищет объект с html-страницей и, если она не находит его, throws new Exception
через
throw new Exception("findANDclick: the object was not found");
поэтому экземпляр findANDclick ONLY выдает ошибку, поэтому выполняется следующий findANDclick. Но нет смысла продолжать поиск следующего объекта, если предыдущий не был найден и не нажал.
Я думал, что переменная continue
может иметь значение true, и в случае возникновения исключения findANDclick обновит его до false. Тогда я могу сделать что-то вроде
if (continue) { findANDclick(new String[]{"id", "menuButton"});}
if (continue) { findANDclick(new String[]{"src", ".*homeicon_calendar.*"}); }
if (continue) { findANDclick(new String[]{"src", ".*cycle_templates.*"}); }
было бы здорово, если бы я мог сделать что-то вроде
{ findANDclick(new String[]{"id", "menuButton"}); } if (continue)
{ findANDclick(new String[]{"src", ".*homeicon_calendar.*"}); } if (continue)
{ findANDclick(new String[]{"src", ".*cycle_templates.*"}); } if (continue)