Я использую Sahi для автоматизации тестирования веб-приложения. Мне нужно написать скрипт для сахи для загрузки файла. Но, к сожалению, я не знаю дороги. Кто-нибудь может мне помочь?
скрипт sahi для выбора и загрузки файла
Ответы (4)
Загрузка файла может быть сложной задачей в зависимости от любых проверок, которые вы выполняете при загрузке. Для начала можно попробовать следующее:
Синтаксис:
_setFile(element, filePath [, actionURL])
например: _setFile(_file("id"), "C:\abc\efg.jpg", "formSubmit.jsp");
Если в поле файла есть проверки JavaScript, вы можете попробовать этот хак. Перед отправкой файла измените тип поля на «текстовый», а затем установите его значение. Например.
// set the file
_setFile(_file("file"), "scripts/demo/uploadme.txt");
// Change the "type" attribute of file field
if (_isIE()){
_call(_file("file").outerHTML = _file("file").outerHTML.replace(/type=['"]?file['"]?/, "type=text"));
}else{
_call(_file("file").type = "text");
}
// Set the value into the textbox
_setValue(_textbox("file"), "scripts/demo/uploadme.txt");
Это работает для большинства случаев. Если вы все еще получаете какую-либо ошибку, вы можете опубликовать ее здесь.
Спасибо, Вивек
Вы можете использовать следующие
_setFile(_file("id"), "C:\\abc\\efg.jpg");
Не уверены, что вам нужно что-то более сложное?
Обратите внимание, что начиная с Sahi 4.3 существует _setFile2
, которая автоматически обрабатывает проверки js и выполняет преобразование типа ввода.
Я решил использовать функцию setFile2
с внутренним изменением типа поля на text