我正在使用Sahi进行Web应用程序的测试自动化。我必须为sahi编写一个脚本来上传文件。但不幸的是我不知道的方式。有人可以帮帮我吗?
答案 0 :(得分:3)
根据您在上传时所做的任何验证,文件上传可能很复杂。对于初学者,您可以尝试以下方法:
Synatx:
_setFile(element, filePath [, actionURL])
例如: _setFile(_file(“id”),“C:\ abc \ efg.jpg”,“formSubmit.jsp”);
如果文件字段上有javascript验证,则可以尝试此hack。在提交文件之前,将字段的类型更改为“text”,然后设置其值。例如
// 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");
这适用于大多数情况。如果您仍然收到任何错误,可以在此处发布。
谢谢, 的Vivek
答案 1 :(得分:0)
您可以使用以下
_setFile(_file("id"), "C:\\abc\\efg.jpg");
不确定是否需要更复杂的东西?
答案 2 :(得分:0)
注意,从Sahi 4.3开始,有一个_setFile2
函数可以自动处理js验证并执行此输入类型转换。
答案 3 :(得分:0)
我已使用函数setFile2
解决了问题,并在内部将字段类型更改为text