为了解释标题。Selenium RC一直坚持认为


  已经计划关闭系统


并因此拒绝进行自动化测试。.我可以理解这里的逻辑,我的意思是,如果您认为世界将因核大屠杀而结束,您将不做作业。

但是,这不是冷战,当我检查一些基本内容(例如使用shutdown \a,完成完全重新启动)时,我发现实际上并非如此!



我如何才能说服硒世界将不会终结,它应该完成我告诉它的工作?

N.B.在这里,硒已经“拒绝”以初始化IE的任何实例,并且无论单击Yes还是No,硒都将继续挂起直到超时。我正在使用NUnit,c#/。net4.0来控制测试。

最佳答案

为了解决这个问题,我用下面的修补版本作为user extension替换了默认的“ runSeleniumTest”功能:

function runSeleniumTest() {
  runOptions = new RemoteRunnerOptions();
  var testAppWindow;

  if (runOptions.isMultiWindowMode()) {
    try{
      testAppWindow = openSeparateApplicationWindow('Blank.html', true);
    }
    catch (e) {
      window.onunload = function () { };
      window.location.reload();
      return;
    }
  } else if (sel$('selenium_myiframe') != null) {
    var myiframe = sel$('selenium_myiframe');
    if (myiframe) {
      testAppWindow = myiframe.contentWindow;
    }
  }
  else {
    proxyInjectionMode = true;
    testAppWindow = window;
  }
  selenium = Selenium.createForWindow(testAppWindow, proxyInjectionMode);
  if (runOptions.getBaseUrl()) {
    selenium.browserbot.baseUrl = runOptions.getBaseUrl();
  }
  if (!debugMode) {
    debugMode = runOptions.isDebugMode();
  }
  if (proxyInjectionMode) {
    LOG.logHook = logToRc;
    selenium.browserbot._modifyWindow(testAppWindow);
  }
  else if (debugMode) {
    LOG.logHook = logToRc;
  }
  window.selenium = selenium;

  commandFactory = new CommandHandlerFactory();
  commandFactory.registerAll(selenium);

  currentTest = new RemoteRunner(commandFactory);

  var doContinue = runOptions.getContinue();
  if (doContinue != null) postResult = "OK";

  currentTest.start();
}


我发现“ openSeparateApplicationWindow”内部发生“已安排系统关闭”错误。我还发现,发生错误后刷新硒测试运行器窗口将“重新启动”测试而没有错误。因此,我使用以下try catch语句修补了“ runSeleniumTest”,以便在“ openSeparateApplicationWindow”中出现错误时重新加载测试运行器窗口:

try{
  testAppWindow = openSeparateApplicationWindow('Blank.html', true);
}
catch (e) {
  window.onunload = function () { };
  window.location.reload();
  return;
}


我还将my blog post用于硒用户扩展的更具体示例

关于c# - Selenium RC让人想起“世界末日”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17528097/

10-12 15:15