2016-05-11 4 views
2

Я использую WebDriverIO для автоматизации пользовательского интерфейса, и я пытаюсь автоматизировать для логин.Как уловить данные ответа в автоматизации пользовательского интерфейса

Когда я нажимаю кнопку Login, *.com/user/login запрос получит триггер в фоновом режиме. Здесь я хочу поймать ответ *.com/user/login, потому что мне нужно получить токен от ответа, чтобы перейти к следующему тестовому примеру.

Может ли кто-нибудь мне помочь?

Заранее благодарен!

ответ

0

Захват сетевого трафика с использованием BrowserMob, selenium server и ниже кода. Для получения дополнительной информации см. Мой ответ this. Затем выполните разбор stuff.har, чтобы получить желаемый результат. Har файл находится в формате json.

var Proxy = require('browsermob-proxy').Proxy 
    , webdriverio = require("./node_modules/webdriverio/") 
    , fs = require('fs') 
    , proxy = new Proxy() 
; 

proxy.cbHAR('webdriver.io', doSeleniumStuff, function(err, data) { 

     if (err) { 

      console.error('ERR: ' + err); 
     } else { 

      fs.writeFileSync('stuff.har', data, 'utf8'); 


     } 
}); 

function doSeleniumStuff(proxy, cb) { 

    var browser = webdriverio.remote({ 
     host: 'localhost' 
     , port: 4444 
     , desiredCapabilities: { browserName: 'firefox', seleniumProtocol: 'WebDriver', proxy: { httpProxy: proxy } } 
    }); 

    browser 
     .init() 
     .url("http://webdriver.io") 
     //.setValue("#yschsp", "javascript") 
     //.submitForm("#sf") 
     .end().then(cb);   

} 
Смежные вопросы