Consolodating другие ответы, на Joel, и надо надеяться улучшающийся немного, когда я иду:
можно сделать это с Regex.Replace()
:
string s = Regex.Replace (
" 1 2 4 5",
@"[ ]{2,}",
" "
);
Или с String.Split()
:
static class StringExtensions
{
public static string Join(this IList value, string separator)
{
return string.Join(separator, value.ToArray());
}
}
//...
string s = " 1 2 4 5".Split (
" ".ToCharArray(),
StringSplitOptions.RemoveEmptyEntries
).Join (" ");
Попробуйте FEST framework . Это то, что раньше называлось Эбботом, если я не ошибаюсь. Я использую это для автоматического тестирования, и это кажется очень простым и удобным. Простые вещи делаются легкими, а сложные вещи там не ракетостроение. Я рассматривал UISpecj4j, но он меня не устроил, потому что нет технической возможности протестировать Drag'n'Drop, пока это необходимо. Кроме того, довольно сложно разрабатывать тесты, когда вы на самом деле не видите, что происходит (UISpec4J использует фальшивый, невидимый look'n'feel)
Единственное, что создает проблемы в FEST (также по замыслу) - он захватывает мышь и не позволяет ничего делать во время выполнения теста.
uispec4j - альтернатива с открытым исходным кодом. Но я еще не пробовал. (В настоящее время я также собираю списки вещей, которые можно попробовать, так что спасибо за вопрос!)
Причина, по которой Selenium не может этого сделать, заключается в том, что для тестирования он использует Javascript, запущенный в веб-браузере. Имитирует нажатие кнопок, ввод данных и т. д. через Javascript. Если Javascript отключен, это не сработает. А поскольку приложения Swing / AWT не имеют Javascript, Selenium также не будет работать с ними.
Selenium - это фреймворк на основе JavaScript, поэтому он может работать только на тех объектах, которые могут выполнять JavaScript. Браузеры делают это изначально.
Насколько я понимаю, на самом деле не существует Testing Framework, сравнимого с Selenium на рабочем столе, потому что довольно сложно написать структуру, которая подключается к ОС так же изначально, как Selenium Hooks в Браузер. Популярными, но не обязательными, являются QTP , SilkTest , TestComplete
Ответ: «Mercury winrunner», который был очень популярен в конце 90-х и, вероятно, до сих пор широко используется для приложений win.
Больше не продается как таковой, но, если я не ошибаюсь, теперь доступен как HP QuickTest Professional. См. страницу википедии на HPQTP .
Теперь он стал HP Unified Functional Testing (UFT) 2
Если у вас есть Visual Studio 2010, вы также можете использовать недавно представленный Visual Studio UI Automation Testing (также известный как Coded UI). Это немного похоже на использование Selenium с ui-картой.