Запустите WatiN с BackGroundWorker, чтобы открыть браузер IE

1

Я просто использую WatIn без каких-либо других тестов, таких как NUnit или другие.

Когда я пытаюсь запустить BackGroundWorker, чтобы открыть браузер IE, возникает ошибка

Исключение типа "System.Threading.ThreadStateException" произошло в WatiN.Core.dll, но не было обработано в коде пользователя

Дополнительная информация: CurrentThread должен иметь свой ApartmentState для установки в ApartmentState.STA, чтобы иметь возможность автоматизировать Internet Explorer.

Я прочитал некоторые темы здесь, в stackoverflow, но все тесты не с той же ошибкой.

Кто-нибудь может мне помочь?

Код

BackgroundWorker _worker = new BackgroundWorker();
            _worker.WorkerReportsProgress = true;
            _worker.ProgressChanged += new ProgressChangedEventHandler(_worker_ProgressChanged);
            _worker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(_worker_RunWorkerCompleted);            
            _worker.DoWork += (s, e2) =>
            {
                Loga(usuario, senha);
            };
            _worker.RunWorkerAsync();

    protected void Loga(string usuario, string senha)
    {            
        using (var browser = new IE("my page here"))
        {
           //Code here
        }
    }
Теги:
testing
winforms
watin

1 ответ

1

Вы не можете запускать несколько потоков с помощью Watin. но вы можете запустить несколько экземпляров IE:

IE browser1 = new IE();
IE browser2 = new IE();

browser1.GoTo("http://www.google.com");
browser2.GoTo("http://www.yahoo.com");

Ещё вопросы

Сообщество Overcoder
Наверх
Меню