Что лучший способ состоит в том, чтобы сделать веб-макросы сценариев/сети? [закрытый]

NullPointerException s - исключения, возникающие при попытке использовать ссылку, которая указывает на отсутствие местоположения в памяти (null), как если бы она ссылалась на объект. Вызов метода по нулевой ссылке или попытка получить доступ к полю нулевой ссылки вызовет функцию NullPointerException. Они наиболее распространены, но другие способы перечислены на странице NullPointerException javadoc.

Вероятно, самый быстрый пример кода, который я мог бы придумать для иллюстрации NullPointerException, be:

public class Example {

    public static void main(String[] args) {
        Object obj = null;
        obj.hashCode();
    }

}

В первой строке внутри main я явно устанавливаю ссылку Object obj равной null. Это означает, что у меня есть ссылка, но она не указывает на какой-либо объект. После этого я пытаюсь обработать ссылку так, как если бы она указывала на объект, вызывая метод на нем. Это приводит к NullPointerException, потому что нет кода для выполнения в местоположении, на которое указывает ссылка.

(Это техничность, но я думаю, что она упоминает: ссылка, которая указывает на null, равна 't то же, что и указатель C, указывающий на недопустимую ячейку памяти. Нулевой указатель буквально не указывает на в любом месте , который отличается от указаний на местоположение, которое оказывается недопустимым.)

24
задан Vertexwahn 4 March 2016 в 16:01
поделиться

11 ответов

Другая опция является использованием AutoIT + Firefox + mozrepl + И следующие au3 . Это мощно, поскольку AutoIT работает вне браузера (это - фантастическое средство автоматизации сам по себе), таким образом, можно работать посредством представления нескольких форм браузера, не теряя контекст. Тогда И следующие au3 сценарий позволяет Вам просто управлять Firefox через AutoIT3.

3
ответ дан Alex Angas 19 July 2019 в 19:42
поделиться

мы используем iMacros инструмент, который Вы упомянули с хорошим успехом:

Firefox + Примечание iMacros

, что это также стало свободным дополнение IE ! Большая вещь об этом состоит в том, что точно те же макросы работают в обоих браузерах. По моему скромному мнению, очень полезный для быстрого и легкого веб-тестирования и общей веб-автоматизации.

Tim

1
ответ дан 19 July 2019 в 19:42
поделиться

При использовании libwww-perl то не останавливайтесь там. Используйте WWW:: Механизируйте, который является оберткой вокруг LWP, который делает взаимодействие браузера, которое Вы хотите. Оборотная сторона: Это (еще) не обрабатывает JavaScript.

WWW:: Механизируйте домашнюю страницу

1
ответ дан Andy Lester 19 July 2019 в 19:42
поделиться

Несколько предложений:

Редактирование: я предполагаю, что они действовали бы на веб-страницы, содержащие данные, которые Вы хотите отправить формам.

2
ответ дан Sam Hasler 19 July 2019 в 19:42
поделиться

Мне действительно нравится вода платформа (работающий на рубине) - программируемый, легкий, IE использования автоматизировать сеть (и таким образом, Вы получаете истинное поведение браузера). Конечно, это - Windows только - Вы не определили, является ли это тем, что Вы используете.

Мы использовали воду для автоматизации наших тестов веб-приложения, и мы очень удовлетворены.

2
ответ дан Asaf Bartov 19 July 2019 в 19:42
поделиться

Я - на самом деле большой поклонник Chickenfoot, который я начал использовать много недавно для обеспечения поддержки сценариев Zotero, другого расширения Firefox.

2
ответ дан Raymond Yee 19 July 2019 в 19:42
поделиться

@Asaf Bartov, на самом деле, Watir не является Windows только. Существуют также FireWatir, который работает над Windows, Linux и Mac и SafariWatir, который работает над Mac

http://wtr.rubyforge.org/ http://wiki.openqa.org/display/WTR/FireWatir http://safariwatir.rubyforge.org/

2
ответ дан Željko Filipin 19 July 2019 в 19:42
поделиться

Use:

Firefox + iMacros to fetch:
Go to the page you like (e.g yahoo.com), bring iMacro in focus, hit record and search for some text. When first page shows, Save the page in a file.

Now you have a page you wanted.
You are done fetching at this point.
Save the macro and give it a name. Next time you can just run the macro you just saved.

You then clean up the html code you got by using this:

# this is php, do the proper thing in the language of your choice
# one or more spaces is equal to one space, remove tab, return  ...etc.
return ereg_replace(' +', ' ', trim(preg_replace("/(\r\n|\r|\t|\n|\'|\")/s", '', $string)


Now you have a clean html page with one line, a long one.
Now you can cut and slice as you wish by using a regEx.

Things to know:
You can start the macro in firefox via a cronjob (commandline) if you need full automation.

2
ответ дан 19 July 2019 в 19:42
поделиться

у меня впечатление от IMacros, вам нужно заплатить , чтобы разблокировать много вкусностей, поэтому я выбрал Chickenfoot. К сожалению, список рассылки Chickenfoot в последнее время очень тих, поэтому я не уверен в его будущем ...

1
ответ дан 19 July 2019 в 19:42
поделиться

Я использую iMacro/.net для проекта извлечения данных. Мне нравится простота написания скриптов для iMacros, что важно, так как в приложении может быть до 60+ сайтов для извлечения данных. Для этого проекта накладные расходы на запуск iMacros стоят сэкономленного времени разработки. Это не идеальное решение, но это один из способов взаимодействовать с данными другого сайта, предполагая, что они не предоставляют надлежащего интерфейса. Самое интересное то, что я создал небольшой серверный кластер из скреперов iMacros, чтобы помочь распределить нагрузку. Прямо сейчас пользователи могут получить доступ к серверам приложений через сайт для adhoc-запросов, но в конце концов я бы хотел, чтобы он эволюционировал во что-то более потоковое.

0
ответ дан 19 July 2019 в 19:42
поделиться

Я большой поклонник Selenium

http://www.seleniumhq.com

предназначенного для автоматизированного тестирования браузера, но с поддержкой скриптов (несколько языков) вы можете создавать шаблоны макросов, которые будут заполнять формы и т.п. на основе переменных

также: кто-нибудь знает хороший макрос, работающий с Flash? Похоже, что javascript не может перейти эту грань

3
ответ дан 19 July 2019 в 19:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: