使用 Selenium 驱动程序,IE 在会话之间保持登录状态,而 FF 和 Chrome 则不然。我想根据“已登录”元素 ID 的存在在测试中执行一些附加命令。
如何根据实习生中的条件执行代码?
伪代码:
return command
.get(require.toUrl('http://example.com/'))
.findById('signed-in-user')
.then(function(){
command
.findById('sign-out')
.click()
})
Run Code Online (Sandbox Code Playgroud)
但是当登录用户不存在的情况下如何处理呢?
这是这个问题的重复:How to do Conditional browserInteractions with intern 但与 Intern 2 有关
我找到了一个解决方法,但它有点hacky。使用findAll命令,您可以测试是否找到任何元素(元素存在)并对其采取操作。
例子:
// Log out if logged in
.findAllByCssSelector('#signed-in-user')
.then(function(elems) {
if(elems.length > 0) {
command
.findById('signed-in-user')
.click()
.end()
.findByLinkText('Sign out')
.click()
.end()
}
return true;
})
.end()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
976 次 |
| 最近记录: |