Вы взглянули на телефон getcwd()
?
#include
char *getcwd(char *buf, size_t size);
Простой пример:
#include
#include
#include
int main() {
char cwd[PATH_MAX];
if (getcwd(cwd, sizeof(cwd)) != NULL) {
printf("Current working dir: %s\n", cwd);
} else {
perror("getcwd() error");
return 1;
}
return 0;
}
Холодный ответ ... Лучше я отвечу фиктивным ответом, на случай, если на этот вопрос нет хорошего ответа.
Мы используем тестовую среду White и добиваемся отличных результатов.
Платформа использует обмен сообщениями Win32 для поиска элементов управления и взаимодействия с ними. Это довольно медленно для больших форм с большим количеством элементов управления, однако это единственный недостаток, с которым я столкнулся. Мы также автоматизируем запуск теста с помощью buildbot и nunit-console.
У меня нет опыта работы с Microsoft UI Automation, но я использую AutoIt ( http://www.autoitscript.com/autoit3/ ), чтобы немного автоматизации GUI. Я использую его для тестирования надстройки Visual Studio. Не совсем ответ на ваш вопрос, но он может быть вам интересен.
С уважением,
Себастьян
Айв использовал облегченную версию автоматического тестирования пользовательского интерфейса для инфраструктуры .NET, используя аналогичный подход:
http://msdn.microsoft.com/en-us/magazine/ cc163864.aspx
Я столкнулся с проблемами при использовании вкладок и при выборе панелей, которые будут использоваться, но в конечном итоге это привело к изменению формы (так что в дизайне тоже были обнаружены проблемы!)
Я использовал инфраструктуру автоматизации пользовательского интерфейса MS с помощью C#.net и нашел это чрезвычайно простым и полезным.Никаких проблем как таковых не наблюдалось, но ему не хватает поддержки генерации отчетов, поэтому вам нужно написать свою собственную логику для этого на основе вашего конкретного тестового случая.
Общая удовлетворенность: 8 / 10.