VS测试中遇到的2个棘手问题-第一篇

发表于:2014-4-09 10:41

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:wchair    来源:51Testing软件测试网博客

  这两天我在测试的过程中遇到了两个非常棘手的问题。
  第一个问题就是,VS2012在运行自动化测试完全完成之后,就会自动把浏览器关闭了。
  我希望能在录制回放之后,它能将最后一页的页面仍然保留着,这样就能方便测试人员查看情况。
  但是在VS2010中,就没有这个问题,VS2010 在回放之后,页面是保留着的。
  我家安装了VS2012,当时是想使用最先进的版本,所以就毫不犹豫的选择了VS2012。
  为了能够实现这个保留页面的效果,尝试了各种情况。都一一失败,最终还是痛心的卸载了VS2012,并安装了VS2010。
  以下是我尝试VS2012的情况。
  打开浏览器的两种命令:
BrowserWindow window = BrowserWindow.Launch(new Uri("http://www.baidu.com/"));
Process p = Process.Start(@"C:\Users\XXX\AppData\Roaming\360se6\Application\360se.exe", "http://www.baidu.com");
BrowserWindow browser = BrowserWindow.FromProcess(p);
  根据网上的介绍我应该在这之后加上这个语句:
  window.CloseOnPlaybackCleanup = false;
  这样就应该能够在运行之后就关闭浏览器了。
  但是根据我的实验下来并不是完全无效的-当然也并不称之为有效的。
  当我打开了一个游览器之后,运行
  BrowserWindow window = BrowserWindow.Launch(new Uri("http://www.baidu.com/"));
  window.CloseOnPlaybackCleanup = false;
  此时就会有2个浏览器留着,也就是说,VS2012自动化测试所打开的那个浏览器也被保留下来了。--此时有效。
  如果我最初没有打开浏览器,而直接运行以上的语句,那么在以上语句运行完成之后,这个VS2012自动化测试所打开的那个浏览器就会被自动关闭。
  不管是使用IE,还是其他浏览器都是一样的结果。
  不管是在哪个函数中放置以上的语句,也都是一样的效果。(比如[TestInitialize]等等)
  浏览器被无情的关闭了。
  以下是我在国外博客上查到的此问题的回答:
  This change to this functionality in VS 2012 is by design. It is however possible to rollback the behaviour to how it originally was in VS 2010 i.e. the IE window will not close after the test execution unless otherwise commanded by the test to do so.
  To go back to the original functionality, set BrowserWindow.CloseOnPlaybackCleanup = false
  至此,卸载了VS2012。
版权声明:本文出自 wchair 的51Testing软件测试博客:http://www.51testing.com/?153101
原创作品,转载时请务必以超链接形式标明本文原始出处、作者信息和本声明,否则将追究法律责任。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号