Как вызвать JavaScript в HttpClient или Html Unit - PullRequest
3 голосов
/ 31 марта 2012

Я использую метод HTTP-клиента POST для выполнения определенных действий на веб-сайте, для этого он использует javascript-соединение ajax, которое создает requestID, т.е. var reqID = Math.floor(Math.random()*1000001); для публикации.Я хочу получить доступ к этому reqID, чтобы выполнить действие.Может кто-нибудь помочь мне относительно того, как получить доступ к сценарию Java в HttpClient?Или мы можем получить доступ к определенной переменной reqID в javascript, используя HtmlUnit?

Мой JS включает в себя:

ajaxConnection.prototype.execute = function() {
    var reqID = Math.floor(Math.random()*1000001);
    var params = "reqID=" + reqID ;
    for (var key in this.connection_parameters) {
        params += "&" + key + "=" + this.connection_parameters[key];
    }

, и я вызываю POST, чтобы получить выполненное действие, например

String Src = PageSource_Post("http://www.example.com/ajax/ratingClient.php", new String[][]{{"reqID",""},{"id", "329602"},{"cmd", "rate"},{"rating", "2"},}, null);

На данный момент я оставил reqID пустым, а другие параметры получают из источника страниц!
Я пытаюсь использовать HtmlUnit также как

webClient.setJavaScriptEnabled(true);
HtmlPage firstPage = webClient.getPage("http://www.example.com/");
HTMLScriptElement script = new HTMLScriptElement();

Отсюда я должен получить доступ к определенной переменной reqID?

Ответы [ 2 ]

0 голосов
/ 06 октября 2014

Похоже, вы хотите выполнить JavaScript изнутри Java.Лично я нашел HTMLUnit, и поддержка javascript в HTTPUnit немного отсутствует.У нас были похожие проблемы, и у нас был большой успех при использовании Selenium.Вы можете создать быстрый тестовый пример, используя Selenium IDE, который является плагином Firefox (http://docs.seleniumhq.org/projects/ide/). Он позволяет записывать ваши шаги из Firefox и экспортировать тестовый пример в тест JUnit.для шагов. http://university.utest.com/selenium-basics-part-3-record-test-case-and-export-in-junit-format/

0 голосов
/ 31 марта 2012

Вы имеете в виду веб-браузер?

Firebug для Firefox и F12 для IE

Эти инструменты помогут вам отладить javascript, вам нужно переключить точку останова в ваших кодах javascript и выполнить шаг за шагом, чтобы увидеть значение вашего reqID

...