【发布时间】:2014-10-11 22:10:11
【问题描述】:
我只是在没有任何其他测试框架(如 NUnit 或其他)的情况下使用 WatIn。
当我尝试运行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
}
}
【问题讨论】: