用于选择和上传文件的sahi脚本

时间:2012-02-08 17:29:47

标签: file-upload automated-tests sahi

我正在使用Sahi进行Web应用程序的测试自动化。我必须为sahi编写一个脚本来上传文件。但不幸的是我不知道的方式。有人可以帮帮我吗?

4 个答案:

答案 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