`

WatiN和Nunit合用测试WEB时遇到的问题

阅读更多


  一直都是用Nunit做单元测试,WEB页面的测试一贯是手动测试的。可是Matrin大师说了,懒惰是一个好程序员的标志。我一向自己认为是一个好程序员,于是懒劲发作,上网去找寻WEB测试的工作。首先想到的是NUnitASP。但是好似网上的评价一般,搜索的过程发现另一个好工具WatiN。好评如潮。
  于是马上去了官网下载了,按照官网的例子做了一个入门,不错。自动测试的感觉还真的很爽。
  立马加到自己新建的一小项目中去做测试。写好测试类和测试代码。开心的打开Nunit,运行测试,等待我的却是一遍红色。。如下提示
WebTest.TestRegistPage.TestGoogle:
System.Threading.ThreadStateException : The CurrentThread needs to have it's ApartmentState set to ApartmentState.STA to be able to automate Internet Explorer.
让我一下傻住了。。
  回到官网,仔细的找,终于找到了解决办法
  首先为测试的类增加config文件,一般你增加一个app.config文件到项目中即可。
  app.config文件的内容如下
  <?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
   <sectionGroup name="NUnit">
    <section name="TestRunner" type="System.Configuration.NameValueSectionHandler"/>
   </sectionGroup>
  </configSections>
  <NUnit>
   <TestRunner>
    <!-- Valid values are STA,MTA. Others ignored. -->
    <add key="ApartmentState" value="STA" />
   </TestRunner>
  </NUnit>
</configuration>

  然后为测试的类增加Setup方法
 并增加一行代码 .net框架版本不同,代码增加不同
  
     
  //1.1
   //System.Threading.Thread.CurrentThread.ApartmentState = System.Threading.ApartmentState.STA;
   //2.0
   //System.Threading.Thread.Currentthread.SetApartmentState(System.Threading.ApartmentStat.STA);

好了,编译一下测试类。在运行,即可以享爱自动测试WEB页面的感觉。。
分享到:
评论

相关推荐

    WatiN测试ASP.NET应用程序

    5. **异常处理**:当测试失败时,WatiN可以捕获并报告错误,帮助开发者定位问题。 **WatiN与ASP.NET应用程序测试** 对于ASP.NET应用程序,WatiN可以帮助测试以下方面: - **登录功能**:验证用户凭据的有效性,确保...

    WatiN-2.0.50.1179.zip

    3. **等待机制**:在执行自动化测试时,WatiN提供了等待网页加载完成、元素出现或消失等智能等待功能,确保测试的稳定性和准确性。 4. **断言**:WatiN结合了测试框架(如NUnit、MSTest或xUnit),提供断言方法来...

    WatiN模拟流的工具

    5. **异常处理**:当页面出现错误或异常时,WatiN会抛出相应的异常,帮助测试者快速定位问题。 **WatiN的不足之处** 尽管WatiN提供了许多便利的功能,但它并非完美无缺。有时,对于一些特定的复杂场景或者浏览器的...

    WatiN 测试仪 WatiN应用

    WatiN是开源的C#库,利用它我们可以把需要手工做的功能测试自动化。

    Web测试技术大全

    QTP等工具提供了针对AJAX应用的自动化测试解决方案,包括处理异步请求、等待问题和特定组件(如ExtJS)的测试策略。 #### Flex/Silverlight功能自动化测试 Flex和Silverlight是创建RIA的重要技术。QTP和其他专业...

    WatiN-2.1.0.1196.zip

    使用WatiN进行Web自动化测试,可以显著提高测试效率,减少手动测试的时间和出错可能性,尤其适用于回归测试和持续集成环境。通过学习和实践,开发者可以构建强大的测试脚本,确保Web应用程序的质量和稳定性。

    .Net 单元测试笔记

    NUnit 专注于代码的单元测试,而 WatiN 则用于模拟用户与Web界面的交互,两者结合使用,可以实现对B/S系统全面的测试覆盖,确保系统的稳定性和可靠性。对于初学者来说,理解并熟练运用这两个工具,将大大提升测试...

    WatiN.github.io:.NET 中的 Web 应用程序测试

    7. **截图功能**:当测试失败时,WatiN可以自动捕获屏幕快照,帮助开发者快速定位问题。 **CSS在WatiN中的应用:** 在WatiN中,CSS选择器是定位页面元素的强大工具。你可以通过元素的ID、类名、属性等属性来查找和...

    WatiN中所有的控件以及控件的识别方法

    在探讨WatiN中所有控件及其识别方法之前,我们首先需要了解WatiN是什么。WatiN(发音为“what in”)是一款开源...通过这些详细的控件属性和识别方法,WatiN为Web应用测试提供了强大的工具,使测试过程更加高效和准确。

    WatiN技术进行自动下单

    总之,WatiN作为一款自动化测试工具,为Web应用程序的测试和自动化流程提供了便利,而在自动下单的场景中,它则展示了其在模拟用户交互方面的强大能力。通过深入学习和实践,我们可以更好地理解和掌握WatiN,乃至...

    Python应用测试框架(整合WinAPI&WatiN;&Dll;反射&Linux;等)

    Scripts目录下含多个应用例子,窗体测试(WinAPI)、Web测试(WatiN)、WebAPI测试、LinuxSSH和SCP等。 3)命令行调用支持: IronPythonTest.exe -log logPath ;执行命令后输出日志全路径,默认Log/ -py filePath ;...

    自动化WEB系统稳定性测试框架研究.pdf

    针对上述问题,陈磊等研究者提出了一种基于开源测试框架WatiN和Windows MediaEncoder的自动化WEB系统稳定性测试框架。该框架实现了7天24小时长周期测试的完全自动化,能够连续进行长时间的稳定性测试,满足长时间...

    web自动化测试技术交流.pptx

    本资源摘要信息是关于Web自动化测试技术的交流,主要涵盖了自动化测试的概念、原理、工具和实践经验。下面是对该资源的详细解读和知识点总结: 一、自动化测试的概念和目标 自动化测试是指使用软件工具来执行测试...

    在ASP NET MVC中使用Watin进行自动化的UI测试

    Watin(Web Application Testing in .NET)是一个开源库,它允许开发者编写自动化测试来模拟用户在浏览器中的操作,从而帮助测试Web应用的功能和性能。本文将深入探讨如何在ASP.NET MVC项目中使用Watin进行自动化UI...

    Watin1.3.0.4

    自动化测试工具 目前最新版本 watin网站也可以下载

    WatiN-2.1.0.1196.rar_WatiN_Watin.Core.dll_wat_自动化测试

    给用户提供一个.Net平台下,将Web测试自动化的便捷途径。

Global site tag (gtag.js) - Google Analytics