Can protractor be made to run slowly?

后端 未结 4 924
余生分开走
余生分开走 2020-11-30 00:00

Is there a way to run a Angular E2E test written using protractor slowly so that I can watch what is happening?

相关标签:
4条回答
  • 2020-11-30 00:13

    Just like George Stocker said in the comment, I don't know why you would want to do this...but you can always add a sleep wherever you want in your test.

    browser.sleep(6000);
    
    0 讨论(0)
  • 2020-11-30 00:13

    You can enter in 'debug mode' by placing in your code the command:

    browser.pause();
    

    In the debug mode, you would see the following output in your terminal:

    ------- WebDriver Debugger -------
    ready
    
    press c to continue to the next webdriver command
    press d to continue to the next debugger statement
    type "repl" to enter interactive mode
    type "exit" to break out of interactive mode
    press ^C to exit
    

    You could then:

    • Run command by command by entering c
    • Continue to the next debugger statement (next browser.pause()) by entering d
    • Enter in interactive mode where you could interact with all the elements by entering repl
    0 讨论(0)
  • 2020-11-30 00:23

    Below is my solution to do that. So basically I created a decorator for current control flow execute function, which now additionaly queues a delay of 100ms before each queued action.

    This needs to be run before any tests are invoked (outside describe block)

    var origFn = browser.driver.controlFlow().execute;
    
    browser.driver.controlFlow().execute = function() {
      var args = arguments;
    
      // queue 100ms wait
      origFn.call(browser.driver.controlFlow(), function() {
        return protractor.promise.delayed(100);
      });
    
      return origFn.apply(browser.driver.controlFlow(), args);
    };
    
    0 讨论(0)
  • 2020-11-30 00:27

    Previous answers look more like workaround. Another way is to add param to Protractor config:

    highlightDelay: 1000
    

    And change to:

    directConnect: false
    

    It will delay Protractor actions like clicking or typing for 1 second and will highlight in light blue.

    0 讨论(0)
提交回复
热议问题