Protractor: рдбреАрдмрдЧ рдкреНрд░реЛрдЯреЗрдХреНрдЯрд░ рдореЗрдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 14 рдЕрдЧре░ 2014  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: angular/protractor

рдореИрдВрдиреЗ рдкрд┐рдЫрд▓реЗ рдореБрджреНрджреЛрдВ рдкрд░ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рд╣реИ, рдФрд░ рдореЗрд░реА рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдпрд╣ рдкрддрд╛ рдирд╣реАрдВ рдЪрд▓рддрд╛ рд╣реИ (рдпреЗ рдореБрджреНрджреЗ рд╕рдорд╛рди рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╕рднреА рдмрдВрдж рдкреНрд░рддреАрдд рд╣реЛрддреЗ рд╣реИрдВ):

  • # 907
  • # 552 (рдмрдВрдж рд╣реЛрдиреЗ рдХреЗ рдмрд╛рд╡рдЬреВрдж рдореМрдЬреВрджрд╛ рд╕рдорд╕реНрдпрд╛ рдХреА рдЖрдЧреЗ рдХреА рдЪрд░реНрдЪрд╛)

рд╕рдВрд╕реНрдХрд░рдг рдЬрд╛рдирдХрд╛рд░реА:

  • рдореИрдХ 10.9.4
  • рдиреЛрдб 0.10.30
  • рдкреНрд░рддрд┐рдХреНрд╖реЗрдкрдХ рез.рей
  • рдХреЙрдлрд╝реАрд╕реЗрдЯ 1.7.1

рдкреНрд░рдЬрдирди рдХрд░рдиреЗ рдХрд┐ рдкреНрд░рдХреНрд░рд┐рдпрд╛:

  • рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреНрд░реЛрдЯреНрд░реИрдХреНрдЯрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдмрдирд╛рдПрдВ ( e2e.conf.coffee ):
    Copied from https://github.com/angular/protractor/blob/master/docs/referenceConf.js
    exports.config =
      seleniumServerJar: null
      seleniumPort: null
      seleniumArgs: []
      chromeOnly: true
      seleniumAddress: null
      sauceUser: null
      sauceKey: null
      sauceSeleniumAddress: null

      specs: ["e2e/*.coffee"]
      exclude: []
      capabilities:
        browserName: "chrome"
        count: 1
        shardTestFiles: false
        maxInstances: 1

      multiCapabilities: []
      maxSessions: -1
      baseUrl: "http://localhost:8081"
      rootElement: "body"
      allScriptsTimeout: 11000
      getPageTimeout: 10000
      framework: "jasmine"

      jasmineNodeOpts:
        isVerbose: true
        showColors: true
        includeStackTrace: true
        defaultTimeoutInterval: 30000
  • e2e/spec.coffee рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд▓реНрдкрдирд╛ рдмрдирд╛рдПрдБ
    describe 'Page', () ->
      it 'should debug properly', () ->
        browser.get '/'

        x = 'There is only X'
        y = 1
        z = ++y
        browser.debugger()
  • рдирд┐рдореНрди рдЖрджреЗрд╢ рдЪрд▓рд╛рдПрдБ: protractor debug e2e.conf.coffee

рдЕрдкреЗрдХреНрд╖рд┐рдд рдкрд░рд┐рдгрд╛рдо:

  • рдмреНрд░реЗрдХ рдкреНрд╡рд╛рдЗрдВрдЯ рд╕рд╣реА рд╕реНрдерд╛рди рдкрд░ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ
  • repl рдореЛрдб рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рдиреЗ рдФрд░ рдПрдХ рд╡реИрд░рд┐рдПрдмрд▓ рддрдХ рдкрд╣реБрдБрдЪрдиреЗ рдкрд░ рд╕реНрдерд╛рдиреАрдп рджрд╛рдпрд░реЗ рдореЗрдВ рдЪрд░ рд╕реБрд▓рдн рд╣реЛрддреЗ рд╣реИрдВ

рдкрд░рд┐рдгрд╛рдо:
рдмреНрд░реЗрдХрдкреЙрдЗрдВрдЯ timers.js рдореЗрдВ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ browser рдЕрд▓рд╛рд╡рд╛ рдЕрдиреНрдп рдХрд┐рд╕реА рднреА рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ:

protractor debug src/test/e2e.conf.coffee
Using ChromeDriver directly...
Hit SIGUSR1 - starting debugger agent.
debugger listening on port 5858
connecting... ok
break in timers.js:79
  77 }
  78
  79 function listOnTimeout() {
  80   var msecs = this.msecs;
  81   var list = this;
debug> repl
Press Ctrl + C to leave debug repl
> x
ReferenceError: x is not defined
> y
ReferenceError: y is not defined
> z
ReferenceError: z is not defined
> browser
{ controlFlow: [Function],
  schedule: [Function],
  getSession: [Function],
  getCapabilities: [Function],
  quit: [Function],
  ...
}

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдКрдкрд░ рджрд┐рдП рдЧрдП browser.debugger () рдореЛрдб рдХреЗ рдмрд╛рдж рд╣реЗрдХ рдХреНрдпрд╛ рд╣реИ? рдпрджрд┐ рдЖрдкрдХреЗ рдкрд░реАрдХреНрд╖рдг рдХреЛ рдбрд┐рдмрдЧ рдирд╣реАрдВ рдХрд░рдирд╛ рд╣реИ ...

рд╕рднреА 3 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рднреНрд░рдорд┐рдд рдХреНрдпреЛрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд░рд╛рджрд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред browser.debugger рдЖрдкрдХреЗ рдЦрдВрдб рдХреЗ рджрд╛рдпрд░реЗ рд╕реЗ рдмрд╛рд╣рд░ рд░реБрдХ рдЬрд╛рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП x, y рдФрд░ z рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╣реЛрдиреЗ рдХреА рдЙрдореНрдореАрдж рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред

browser.debugger рдЙрдЬрд╛рдЧрд░ рд╣реЛрдиреЗ рдХрд╛ рдХрд╛рд░рдг рдареАрдХ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдЗрд╕реЗ рдмреНрд▓реЙрдХ рдХреЗ рдЕрдВрджрд░ рдПрдХ рдмреНрд░реЗрдХрдкреНрд╡рд╛рдЗрдВрдЯ рд╕реЗрдЯ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ - рд╣рдо рдЗрд╕реЗ рдХрдорд╛рдВрдб рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рдмреАрдЪ рдореЗрдВ рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рд╡рд╛рд╣ рдкрд░ рд╕реЗрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред

рдЖрдк рдЕрднреА рднреА рдЕрдЪреНрдЫреЗ рдкреБрд░рд╛рдиреЗ debugger рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕реЗ рдмреНрд▓реЙрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП --debug рдзреНрд╡рдЬ рдХреЗ рд╕рд╛рде рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВред

рдЕрдЪреНрдЫреЗ рдкреБрд░рд╛рдиреЗ рдбрд┐рдмрдЧрд░ рдФрд░ рдбрд┐рдбрдмрдЧрд░ рдХреЛ --debug рдлреНрд▓реИрдЧ рдХреЗ рд╕рд╛рде рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рдиреЗ рд╕реЗ рдореЗрд░реЗ рд▓рд┐рдП рдирд┐рд╖реНрдкрд╛рджрди рдкрд░ рдХреЛрдИ рд░реЛрдХ рдирд╣реАрдВ рд╣реИред : - /

рдКрдкрд░ рджрд┐рдП рдЧрдП browser.debugger () рдореЛрдб рдХреЗ рдмрд╛рдж рд╣реЗрдХ рдХреНрдпрд╛ рд╣реИ? рдпрджрд┐ рдЖрдкрдХреЗ рдкрд░реАрдХреНрд╖рдг рдХреЛ рдбрд┐рдмрдЧ рдирд╣реАрдВ рдХрд░рдирд╛ рд╣реИ ...

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

adityagautam picture adityagautam  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

juliemr picture juliemr  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

smarts picture smarts  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

vishalshivnath picture vishalshivnath  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

sandersn picture sandersn  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ