我有一项任务是从前承包商的笨重的前端系统中检索相当多的PDF文件。必须输入文件名,搜索,重新验证文件五到六次,然后下载文件。
我已经编写了一个脚本来循环执行此操作,到目前为止,它已完成工作。但是,如果找不到该文件,它会将您吐出到新页面,在该页面中显示错误。然后你必须返回一页,然后继续。
我的问题是,我找不到告诉Selenium IDE的方法“如果您看到此错误,请返回一页并恢复”或“如果页面更改,请返回一页并继续。”
Selenium IDE是否可以遵循这样的If命令?
我已下载并安装了所有相关插件。
我的脚本如下:
<!--Begin loop-->
<tr>
<td>loadTestData</td>
<td>file://C:\[[the file path]]\test_data.xml</td>
<td></td>
</tr>
<tr>
<td>while</td>
<td>!testdata.EOF()</td>
<td></td>
</tr>
<tr>
<td>nextTestData</td>
<td></td>
<td></td>
</tr>
<tr>
<td>echo</td>
<td>bizcase_filename=${bizcase_filename}</td>
<td></td>
</tr>
<tr>
<td>type</td>
<td>id=srch</td>
<td>${bizcase_filename}</td>
</tr>
<!--Begin revalidation (5 times)-->
<tr>
<td>click</td>
<td>css=input.button</td>
<td></td>
</tr>
<tr>
<td>pause</td>
<td>5000</td>
<td></td>
</tr>
<tr>
<td>click</td>
<td>css=td > img</td>
<td></td>
</tr>
<tr>
<td>select</td>
<td>id=action</td>
<td>label=Revalidate</td>
</tr>
<tr>
<td>click</td>
<td>//input[@value='Run']</td>
<td></td>
</tr>
<tr>
<td>click</td>
<td>id=pbStop</td>
<td></td>
</tr>
<tr>
<td>pause</td>
<td>5000</td>
<td></td>
</tr>
<tr>
<td>click</td>
<td>css=td > img</td>
<td></td>
</tr>
<tr>
<td>click</td>
<td>//input[@value='Run']</td>
<td></td>
</tr>
<tr>
<td>click</td>
<td>id=pbStop</td>
<td></td>
</tr>
<tr>
<td>pause</td>
<td>5000</td>
<td></td>
</tr>
<tr>
<td>click</td>
<td>css=td > img</td>
<td></td>
</tr>
<tr>
<td>click</td>
<td>//input[@value='Run']</td>
<td></td>
</tr>
<tr>
<td>click</td>
<td>id=pbStop</td>
<td></td>
</tr>
<tr>
<td>pause</td>
<td>5000</td>
<td></td>
</tr>
<tr>
<td>click</td>
<td>css=td > img</td>
<td></td>
</tr>
<!--End revalidation, retrieve file-->
<tr>
<td>click</td>
<td>//td[5]/a</td>
<td></td>
</tr>
<!--End loop-->
<tr>
<td>endWhile</td>
<td></td>
<td></td>
</tr>
Test_data.xml,我存储了所有文件名,如下所示:
<testdata>
<test bizcase_filename="filename 1" />
<test bizcase_filename="filename 2" />
<test bizcase_filename="filename 3" />
</testdata>
答案 0 :(得分:0)
您可以使用名为storeElementPresent
例如:
storeElementPresent id="error" x
现在,对象“错误”存储在变量x中。
然后,您可以使用gotoIf
扩展程序中提供的goto_sel_ide
功能来调用它。
示例:
gotoIf ${x}==true errorVisible
gotoIf ${x}==false errorNotVisible
label errorVisible
goto tryAgain //tryAgain is a label set in right place
label errorNotVisible
goto Continue
label Continue
我希望你明白这一点。您也可以使用javascript的“if”语句。
示例(与您的代码无关):
storeElementPresent id=gbqfbb x /
click javascript{if(storedVars['x'] == true){this.browserbot.findElement('id=gbqfbb').click();}}
希望它有所帮助!