我在 SeleniumIDE 中,但调用了 javascript。
似乎这对其他人来说也是相当普遍的情况。
我有一个很好的测试套件,但它做的第一件事就是登录。
我希望套件开始时确保我已注销,如果没有,则将我注销。我可以通过“注销”超链接来判断我是否已登录
但是我只想在我当前已登录时单击注销,否则我什么也不想做,因为如果我尚未登录,尝试单击不存在的元素会引发错误)
所以逻辑上是这样的:
if ui element(logout link in my case) exists
click on logout link
else
do nothing
end
我正在使用 Selenium IDE 并调用 javascript - 鉴于我无法if then
在基本的 seleniumIDE 中执行此操作,我希望我可以在 javascript 本身中执行此操作。
就像是:
store javascript{if ([a with text 'Logout' exists]) then click on it end;} id1
尽管不是click on it [this]
,但如果我只是访问了
http://my-apps-domain/users/sign_out
但我不确定确切的语法。
相关的 HTML 是:
<li><a href="/users/sign_out">Logout</a></li>
如果它存在我想点击a(或直接访问url),否则什么都没有。
如果可能,我想找到一个非 jquery 解决方案。
更新:我发现它甚至会javascript{window.location.replace('http://google.com') }
关闭我的 seleniumIDE 窗口并将其替换为 google,但不会影响运行测试本身的实际窗口。