Начал изучать эту библиотеку, хотел выполнить
run c:/mspaint.exe
например или
start process c:/mspaint.exe
По идее должна запуститься но программа. но каждый раз в логе:
TypeError: unsupported operand type(s) for +: 'NoneType' and 'list'
Начал изучать эту библиотеку, хотел выполнить
run c:/mspaint.exe
например или
start process c:/mspaint.exe
По идее должна запуститься но программа. но каждый раз в логе:
TypeError: unsupported operand type(s) for +: 'NoneType' and 'list'
а какую версию робот фремворка вы используете?
потому, что вот такая конструкция у меня прекрасно работает.
*** Settings ***
Library OperatingSystem
*** Test Case ***
test1
Run c:/Windows/System32/notepad.exe
можете также приложить или показать полный тест, который вы хотите выполнить?
Все сработало, просто я по неопытности в execution profile оставил custom script, а надо было именно python
Спасибо:)
В идеале я бы хотел, чтобы открывалась определенная программа и данные о времени ее открытия/закрытия/длительность сохранялись в sql БД/excel или просто в файл,
но не знаю пока как это сделать, думаю как-то с помощью Run And Return Rc And Output
проще будет сохранить в файл, что этого вам надо просто использовать метод Log, Get Time, Create File, Append To File
http://robotframework.googlecode.com/hg/doc/libraries/BuiltIn.html?r=2.7.1#Get Time
http://robotframework.googlecode.com/hg/doc/libraries/OperatingSystem.html?r=2.7.1#Append To File
ну если вы все таки хотите записывать в базу данных, то вы можете воспользоваться библиотекой DatabaseLibrary
http://franz-see.github.com/Robotframework-Database-Library/
http://franz-see.github.com/Robotframework-Database-Library/api/0.5/DatabaseLibrary.html
Спасибо!
Попробую так
Не получается запустить, хотел записать в sql таблицу определенные данные
run C:/Testing/Install/sqlite/sqliteinsert.bat
start process C:/Testing/Install/sqlite/sqliteinsert.bat
В логе пишет pass, но фактически ничего не запускается и не добавляется
Можно ли так запускать bat-файлы?
Пробовал также прописать саму insert команду в тесте, тоже pass, но в итоге ничего не меняется
покажите текст всего вашего теста
я создал run.bat
c:/Windows/System32/notepad.exe
и создал test.txt
*** Settings ***
Library OperatingSystem
*** Test Case ***
test1
Run run.bat
Уже запускается, спасибо.
А как можно запускать что-то из командной строки при помощи python?
run C:/sqlite/sqlite3 test "insert into films (title, date, start_time) values ('%theuserinput%', '%date:~-4,4%-%date:~-7,2%-%date:~0,2%', '%TIME:~0,2%:%TIME:~3,2%:%TIME:~6,2%');"
в bat файле такое запускается, но если запустить из robotframework, то не срабатывает
не понял вопроса, можно немного детальнее, что вы хотите сделать с помощью pyhton?
и лучше перенести такой вопрос в секцию по python http://automated-testing.info/forum/programmirovanie/python
UPD: понял, надо было указывать полный путь к бд
теперь вот не пойму почему программы из папки program files не запускаются:
${mplayer} set variable C:/Program Files/Windows Media Player/mplayer2.exe
${fname} Get Value From User Enter filename
run ${mplayer} ${fname}
а если скопировать mplayer2 в другую папку или в корень, и этот путь указать в ${mplayer}, то запускается
я думаю это из за пробелов в пути
да, похоже так и есть, создал папку C:/Program_Files/Windows_Media_Player/ оттуда запускается, и что можно сделать в таком случае?
Как запустить приложение из папки с пробелами?
так:
C:/Program${SPACE}Files/Windows${SPACE}Media${SPACE}Player/mplayer2.exe
в логе путь отображается правильно, но все равно ничего не запускается.
И еще вопрос по формату времени: мне нужно получить только время, но когда использую:
${Time}= Get Time ${EMPTY} Now
то получаю и дату и время
на счет пробела, похоже это баг, у меня тоже воспроизводиться. создал баг тут http://code.google.com/p/robotframework/issues/detail?id=1129&colspec=ID%20Type%20Status%20Priority%20Target%20Owner%20Summary%20Stars
на счет времени,
для запуска файла надо включить путь в кавычки
вот так вот должно работать
*** Settings ***
Library OperatingSystem
*** Test Case ***
Test
${a} Set Variable "c:\\Program Files\\run.bat"
Run And Return Rc ${a}
Log Variables
Спасибо, с кавычками и двойными слэшами сработало:)
Как выполнить 2 команды в командной строке: переход в папку, затем, оставаясь в этой папке, запустить программу?
${cmd} set variable "cd C:\\Program Files\\Borland\\StarTeam"
${cmd1} set variable "stcmd.exe list -pwdfile pwd.txt -p "some parameters" "*""
${rc} ${output}= run and return rc and output ${cmd}
${rc} ${output}= run and return rc and output ${cmd1}
Так не выходит, похоже что после выполнения "cd", все возвращается в исходную папку (в корень видимо)
Может создать bat-файл, как указать что в файле должно быть несколько строк?
create file c:/Program Files/Borland/StarTeam/co.bat cd c:\Program Files\Borland\StarTeam
Append To File c:/Program Files/Borland/StarTeam/co.bat stcmd.exe parameters" "*"
Так в файл заносится текст без переноса строки.
Разобрался: нужно использовать "\n" для переноса строки в Append to file
да есть такая штука
каждая команда требует абсолютных путей
но для того, чтобы не связываться с созданием файла
можно использовать & в командной строке
т.е. это выполнение двух команд последовательно
например, cd Sun & dir