2015-11-04 4 views
0

Я работаю над автоматизацией приложения Windows с использованием Teststack white, текущие проблемы, которые у меня есть, это то, что после входа в основное приложение белый, похоже, не находит новое окно ,teststack white получить главное окно после окна входа в систему

var pathAp = appPath(path); 
     Application application = Application.Launch(pathAp); 
     Window window = application.GetWindow("login"); 
     TextBox userName = window.Get<TextBox>("userName"); 
     TextBox pass = window.Get<TextBox>("pass"); 
     userName.Enter("user1"); 
     pass.Enter("pass"); 
     Button login = window.Get<Button>("login"); 
     login.Click(); 
     //now the program will wait and the main window will show up 
     Window mainWindow = application.GetWindow("main"); 

По какой-то причине программа выдает сообщение об ошибке, в котором говорится, что он не может найти окно. любые идеи ребята спасибо

ответ

1

поэтому я понял, что произошло после входа в приложение, новый идентификатор процесса появляется вместо старого, поэтому я использовал метод Application.Attach(), чтобы заполучить новое «Приложение» », метод attach принимает параметр PID как параметр, чтобы получить этот метод, Process.GetProcessesByName(), и вы можете получить идентификатор процесса, который в конечном итоге может передать его методу attach.

+0

Не могли бы вы опубликовать свой новый код, если у вас все еще есть его? Потому что у меня такая же проблема и вы пытаетесь понять это. – LTnewbie

+0

var process = Process.GetProcessesByName («Имя вашего приложения») [0]; app = Application.Attach (process.Id); Window window2 = app.GetWindow ("PROfit Version 4.4.24"); –

+0

спасибо, но мне удалось это выяснить :) – LTnewbie