如何判断硒中的变量是否为空 IDE

How can I tell if a variable is emty or not in selenium IDE

我想将使用的协议 (http/https) 存储在一个变量中,但是 Internet Explorer 不响应 window.location.protocol 因此在这种情况下,该变量将为空。在这种情况下,我可以将 https 作为默认设置。 但是我该怎么做呢?

这就是我到目前为止所做的。

<tr>
    <td>storeEval</td>
    <td>window.location.protocol</td>
    <td>HOST_PROTOCOL</td>
</tr>
<tr>
    <td>storeEval</td>
    <td>if (${HOST_PROTOCOL}.equals("") { return "https" }</td>
    <td>HOST_PROTOCOL</td>
</tr>

至此,我找到了正确使用if的方法:

<tr>
    <td>storeEval</td>
    <td>javascript{ if (storedVars['HOST_PROTOCOL'] !="http:" || storedVars['HOST_PROTOCOL'] !="https:") { alert() }  }</td>
    <td>HOST_PROTOCOL</td>
</tr>

现在,如何 "return https" 作为 storeEval 的结果?

我发现以下内容适用于我的问题

<tr>
    <td>storeEval</td>
    <td>javascript{ if (window.location.protocol !="http:" || window.location.protocol !="https:") { storedVars['HOST_PROTOCOL']="https:";} else { storedVars['HOST_PROTOCOL']=window.location.protocol } ;true}</td>
    <td>x</td>
</tr>

我首先检查 window.location.protocol 是 http 还是 https。 如果是这样,我用 window.location.protocol 的值填充我的变量 HOST_PROTOCOL。 在所有其他情况下,我用值 "https:" 填充我的变量 我 return 符合 javascript,将 selenium 命令作为绿色传递。