Правила оформления сообщений в данном топике:
Адрес сайта и страницы, на которой возникла проблема, размещается в тегах [spoiler][noindex]http://адрес_сайта/название_страницы[/noindex][/spoiler]
Для размещения кода, используйте тег "Code" внутри тега "Spoiler" - [spoiler][code]ваш код[/code][/spoiler]
или выложите на сайт «Pastebin».
При размещении объемных материалов, используйте тег "Spoiler" - [spoiler]ваш текст[/spoiler]
или выложите на сайт «Pastebin».
Размещать изображения в открытом виде. Для размещения скриншотов и других изображений, используйте тег "Spoiler" - [spoiler][img]http://ссылка_на_изображение[/img][/spoiler]
.
«Можно ответить на любой вопрос, если вопрос задан правильно.»
Платон
«Не каждый вопрос заслуживает ответа.»
Сайрус
Отсутствует
HellishFire
Блин ну посмотри в скрипте что мы с тобой делали.
Нафига ты здесь 2 раза цикл задаёшь ?
Lendor
for(a=123; a<=333; a++){ //<--- задаём диапазон 123-333 iimPlay("CODE:URL GOTO=http://сайт/message/"+a); //<--- Заходим на сайт, циферки в конце ссылки, как раз и будет меняться iimPlay("CODE:TAG POS=1 TYPE=TEXTAREA FORM=NAME:NoFormName ATTR=NAME:text CONTENT=сообщение"); //<---Пишем сообщение iimPlay("CODE:TAG POS=1 TYPE=INPUT:SUBMIT FORM=NAME:NoFormName ATTR=TYPE:submit&&VALUE:Отправить&&NAME:b1");//<---Жмём кнопку }
Отредактировано PRESIDENT (28-05-2015 18:47:15)
Backend developer
PHP, JAVA, C#, Python
В личку только с серьёзными предложениями по заказу скриптов/программ.
Отсутствует
Lendor
Можно такВыделить кодКод:
for(a=123; a<=333; a++){ //<--- задаём диапазон 123-333 iimPlay("CODE:URL GOTO=http://сайт/message/"+a); //<--- Заходим на сайт, циферки в конце ссылки, как раз и будет меняться iimPlay("CODE:TAG POS=1 TYPE=TEXTAREA FORM=NAME:NoFormName ATTR=NAME:text CONTENT=сообщение"); //<---Пишем сообщение iimPlay("CODE:TAG POS=1 TYPE=INPUT:SUBMIT FORM=NAME:NoFormName ATTR=TYPE:submit&&VALUE:Отправить&&NAME:b1");//<---Жмём кнопку }
покажите пожалуйста как полностью будет код выглядеть ?
Отсутствует
Lendor
Ну это же твой код, обёрнутый в *.js
и задан диапазон как раз как ты хотел.
Посмотри выше, ещё раз , я чуток откоментировал
Отредактировано PRESIDENT (28-05-2015 18:59:37)
Backend developer
PHP, JAVA, C#, Python
В личку только с серьёзными предложениями по заказу скриптов/программ.
Отсутствует
Lendor
Скрипты в имакросе, есть простоо команды имакроса, с расширением *.iim
и есть яваскрипт, с расширением *.js
вот в такой js скрипт это и засунь и запусти.
Тыцни правой кнопкой мыши по #Current.iim и переименуй его, допустим в test.js.
Внизу где все кнопки имакроса, нажми обновить список и у тебя в списке появится этот самый test.js, в него уже и засунь этот скрипт, ну и воспроизвести
Отредактировано PRESIDENT (28-05-2015 19:58:28)
Backend developer
PHP, JAVA, C#, Python
В личку только с серьёзными предложениями по заказу скриптов/программ.
Отсутствует
Как сделать 2 условия?
Если одно из них верное, то выполняется макрос сохранение.iim, а если оба не верные,
то воспроизводится макрос назад.iim
А у меня получается так:
Если одно не верное условие, то воспроизводится макрос назад.iim
h= iimPlayCode("SET !TIMEOUT_PAGE 2 \n TAG POS=1 TYPE=B ATTR=TXT:заходил*") h= iimPlayCode("SET !TIMEOUT_PAGE 2 \n TAG POS=1 TYPE=B ATTR=TXT:online*") if (h>0 ){ iimPlay("сохранение.iim",60); } if (h<0 ){ iimPlay("назад.iim",60); }
Истина в последней инстанции
Отсутствует
у меня получается так:
Если одно не верное условие, то воспроизводится макрос назад.iim
судя по коду, у тебя вообще работает одно условие: "если онлайн", а второе "для мебели"
Как сделать 2 условия?
Если одно из них верное, то выполняется макрос сохранение.iim, а если оба не верные,
то воспроизводится макрос назад.iim
var h1=iimPlayCode("SET !TIMEOUT_PAGE 2 \n TAG POS=1 TYPE=B ATTR=TXT:заходил*") var h2=iimPlayCode("SET !TIMEOUT_PAGE 2 \n TAG POS=1 TYPE=B ATTR=TXT:online*") if (h1>0 || h2>0){ iimPlay("сохранение.iim",60); }else{ iimPlay("назад.iim",60); }
Правила форума iMacros for Firefox
Мини FAQ по iMacros for Firefox
на почту, только с интересными предложениями по скриптам (iMacros/iMacros+JS)!
Отсутствует
Сохраняется в текстовый документ в 2 столбика.
Как сделать, чтобы 2 извлекаемые ссылки, сохранялись в 1 столбик?
Пример:
ссылка,ссылка
ссылка,ссылка
и т.д.
Как сделать, так?
ссылка
ссылка
и т.д.
TAG POS={{!VAR0}} TYPE=A ATTR=href:ссылка EXTRACT=href TAG POS={{!VAR0}} TYPE=A ATTR=href:ссылка EXTRACT=href SAVEAS TYPE=EXTRACT FOLDER=* FILE=файл.txt
Истина в последней инстанции
Отсутствует
Как сделать, чтобы 2 извлекаемые ссылки, сохранялись в 1 столбик?
TAG POS={{!VAR0}} TYPE=A ATTR=href:ссылка EXTRACT=href SAVEAS TYPE=EXTRACT FOLDER=* FILE=файл.txt TAG POS={{!VAR0}} TYPE=A ATTR=href:ссылка EXTRACT=href SAVEAS TYPE=EXTRACT FOLDER=* FILE=файл.txt
Правила форума iMacros for Firefox
Мини FAQ по iMacros for Firefox
на почту, только с интересными предложениями по скриптам (iMacros/iMacros+JS)!
Отсутствует
Добрый день, коллеги! Нужна ваша помощь.
Я используя iMacros для тестирования веб интерфейсов нашего сервиса. Структура каждого теста такова: есть один управляющий js файл, в котором содержатся команды для запуска определенных файлов iim в нужной последовательности и в нем же проходят необходимые проверки содержимого страницы. Например вот:
iimPlay("Tests_future/Script_11/test_1.iim") //Выполняет логин iimPlay("Tests_future/Script_11/test_2.iim") //Переходит к созданию контрагента ИП и вводит номер счета и БИК, ждет 30 сек var link = window.document.getElementById('bankReqAccept'); if(link.innerHTML == "ВТБ 24 (ЗАО)"){ //Проверяем, что вернулись данные о банке alert('Test complete!'); } //и так далее, пока не проверит все необходимые элементы
Отредактировано Jawdet (29-05-2015 17:53:58)
Отсутствует
Jawdet
Смотри сколько вариантов у тебя получается.
Если не так много 5-10, то и сделай пару управляющих js-ов.
из которых запускай нужные iim-ы.
if(условие верно) { нужный набор команд } else if( другое условие верно) { тут другой набор команд } else { вообще ни одно из условий не верно то третий набор команд, если нужно }
Backend developer
PHP, JAVA, C#, Python
В личку только с серьёзными предложениями по заказу скриптов/программ.
Отсутствует
А ещё лучше вообще избавься от iim-ов и делай всё на проверках условия true/false
скрытый текстВыделить кодКод:
if(условие верно) { нужный набор команд } else if( другое условие верно) { тут другой набор команд } else { вообще ни одно из условий не верно то третий набор команд, если нужно }
для этого есть оператор switch(...) case ...
Правила форума iMacros for Firefox
Мини FAQ по iMacros for Firefox
на почту, только с интересными предложениями по скриптам (iMacros/iMacros+JS)!
Отсутствует
Jawdet
Смотри сколько вариантов у тебя получается.
Если не так много 5-10, то и сделай пару управляющих js-ов.
из которых запускай нужные iim-ы.скрытый текст
А ещё лучше вообще избавься от iim-ов и делай всё на проверках условия true/falseскрытый текстВыделить кодКод:
if(условие верно) { нужный набор команд } else if( другое условие верно) { тут другой набор команд } else { вообще ни одно из условий не верно то третий набор команд, если нужно }
Не совсем правильно меня поняли. У меня тесты не просто набор iim файлов, а набор iim файлов в связке с js скриптом. Вообще каждый тест это как бы набор шагов, записаных в iim и js, в котором прописан порядок запуска iim файлов и нужные проверки. И запускаются тесты посредством запуска этого js файла. Задача в том, что мне нужно как-то запускать несколько таких тестов, то есть иметь что-то, что "дергало" бы именно Jsники каждого теста, а не iimки. А уже они в свою очередь запускали бы iim файлы, которые прописаны в коде.
Можно ли как-то в iMacros создать js файл, который бы делал что-то вроде iimPlay только не для файла макроса, а для js скрипта?
Отсутствует
Jawdet
Тебе нужно запуск вспомогательных js файлов из основного управляющего js-са ?
Посмотри в факе:
Как запустить один скрипт из другого
Backend developer
PHP, JAVA, C#, Python
В личку только с серьёзными предложениями по заказу скриптов/программ.
Отсутствует
Jawdet
в данном случае, более корректно, скорее всего будет работать, описанный изначально PRESIDENT'ом вариант, в виде объединения всех скриптов в один и за счет условного оператора, выбирать нужный "блок" скриптов (разве что, как уже описал выше, оператором ветвления, должен быть switch(), а не if()), иначе, при запуске js из js, вы можете получить несколько нестабильный вариант работы
как элемент выбора нужного теста, можно использовать диалоговое окно prompt()
либо, аналогичным образом можно использовать тот же *.bat-файл
Правила форума iMacros for Firefox
Мини FAQ по iMacros for Firefox
на почту, только с интересными предложениями по скриптам (iMacros/iMacros+JS)!
Отсутствует
Можно ли в управляющем скрипте в переменную загнать текст из буфера обмена?
Отсутствует
В строке кода:
iimPlay("d:\PROGRAMS\Internet\iMacros\ManyFuns\fun\proba.iim",60);
Macro d:PROGRAMSInternetiMacrosManyFunsfunproba.iim not found (Error code: 930)
В папке d:\PROGRAMS\Internet\iMacros\ManyFuns\fun\ лежат файлы .iim
В папке d:\PROGRAMS\Internet\iMacros\ManyFuns\ лежат файлы .js
Директория d:\PROGRAMS\Internet\iMacros указана в настройках iMacros как Папка макросов
Отредактировано hubble (30-05-2015 18:56:49)
Отсутствует
Можно ли в управляющем скрипте в переменную загнать текст из буфера обмена?
Директория d:\PROGRAMS\Internet\iMacros указана в настройках iMacros как Папка макросов
если файлы расположены в директории скриптов имакроса, то как уже писалось в FAQ, скрипт можно вызвать через относительный путь:
Отредактировано InfSub (30-05-2015 22:45:57)
Правила форума iMacros for Firefox
Мини FAQ по iMacros for Firefox
на почту, только с интересными предложениями по скриптам (iMacros/iMacros+JS)!
Отсутствует
hubbleпопробуй экранировать. вместо "\" пиши "\\"
Забыл указать, что так тоже пробовал.
Но сейчас перепроверил.
Вот, что получаю:
Macro proba.iim not found (Error code: 930).
Файл находится на месте. На всякий случай переписал имя файла. Подумал - может скрылся символ-кириллица в названии. ПОМОГЛО!!!
Может быть эта мелочь кому-то поможет, поэтому отписался.
to spy686, InfSub: Спасибо.
Дописываю в догонку.
если файлы расположены в директории скриптов имакроса, то как уже писалось в FAQ, скрипт можно вызвать через относительный путь:
После того, как переписал путь как относительный (слэши прямые - не ошибся), получил такую ошибку:
[Exception... "Component returned failure code: 0x80520001 (NS_ERROR_FILE_UNRECOGNIZED_PATH) [nsILocalFile.initWithPath]" nsresult: "0x80520001 (NS_ERROR_FILE_UNRECOGNIZED_PATH)" location: "JS frame :: resource://imacros/utils.js :: imns.FIO.openNode :: line 196" data: no], line 25 (Error code: -991)
Но та ошибка у меня была с самого начала (так как сначала у меня был указан именно относительный путь).
Отредактировано hubble (30-05-2015 23:17:22)
Отсутствует
После того, как переписал путь как относительный (слэши прямые - не ошибся), получил такую ошибку:
В настройках имакроса укажи путь к списку файлов/макросов и если нужно пути к датасоурсе и довнлоадс.
Backend developer
PHP, JAVA, C#, Python
В личку только с серьёзными предложениями по заказу скриптов/программ.
Отсутствует
В настройках имакроса укажи путь к списку файлов/макросов и если нужно пути к датасоурсе и довнлоадс.
А я выше написал (пост №4082), что папка макросов указана.
Плюс, конечно,
Папка данных: D:\PROGRAMS\Internet\iMacros\Datasources и
Папка закачек: D:\Download.
Но это все было прописано сначала. Может что-то еще имеете в виду?
Отредактировано hubble (30-05-2015 23:59:12)
Отсутствует
Может есть пробелы, имакрос тоже с ними не дружит, надо на <sp> репласить.
хотя InfSub и утверждал как то, что ковычки помогают, но ни фига, не нравится имакросу пробелы и левые знаки/литеры, особенно в путях.
Если не помогает, тогда не заморачивайся, указывай полный путь
Backend developer
PHP, JAVA, C#, Python
В личку только с серьёзными предложениями по заказу скриптов/программ.
Отсутствует