首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >量角器:等待存在但未显示的元素

量角器:等待存在但未显示的元素
EN

Stack Overflow用户
提问于 2014-04-15 06:33:00
回答 4查看 28.8K关注 0票数 14

我编写了一个测试来检查一个元素在屏幕上是否可见,在我的例子中是一个角度ui引导可折叠面板,也就是“警告”。代码可以工作,但测试过去失败了

在“警告”的显示上有一个崩溃的动画,我不能为测试关闭动画,因为它是一个jquery动画。在DOM中,警告总是“存在”,当没有理由显示它时,它就会崩溃。

首先,我用这段代码进行了测试,这非常容易:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
expect(element('.warning').isDisplayed()).toEqual(true);

当我需要测试元素是否没有显示时,问题就出现了,例如:一旦显示了警告,一些操作就会导致它崩溃。

这一检验:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
expect(element('.warning').isDisplayed()).toEqual(false);

只有在动画启动时才会通过。在元素仍然显示时,当条件被选中时,它将失败。

我想出了两个解决方案。

简单的使用ptor.driver.sleep(2000)。减慢了我的测试速度,是不可接受的。

很难,很丑,但这给了我很好的结果:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
exports.isWarningDisplayed = function (expectedVisibility) {
  return ptor.driver.wait(function () {
     if (expectedVisibility) {
       return element(by.css('.warning')).isDisplayed().then(function(visibility) {
         return visibility === expectedVisibility;
       });
      } else {
        return element.all(by.css('.warning .collapse.in')).then(function(items) {
          return items.length === 0;
       });
      }
    }, 2000).then(function() {
      return element.all(by.css('.warning .collapse.in'));
    }).then(function (items) {
      return items.length > 0;
    });
};

我的问题是这感觉太不对劲了。你找到更好的方法来处理这种情况了吗?我的期望是:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
expect(element('.warning').not.isDisplayed()).toEqual(true);

...but在量角器或webDriver AFAIK中没有.not

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2014-06-30 20:02:36

我也有一个类似的问题--想要测试一个元素何时不再被禁用。我很难在没有.not测试的情况下解决问题,然后意识到我可以将'not‘测试移到css选择器中:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// we're looking for when the element doesn't have a .disabled class
var availableElement = by.css('.some-class:not(.disabled)');
browser.wait(function() {
  return ptor.isElementPresent(availableElement);
}, 30000);

expect(ptor.isElementPresent(availableElement)).toBeTruthy();

不知道这是否有帮助,但我有一个明确的时刻,所以我想我会分享。

票数 18
EN

Stack Overflow用户

发布于 2014-12-28 07:38:06

使用元素资源管理器(https://github.com/angular/protractor/blob/master/docs/debugging.md),我查看了量角器对象,找到了一个对我非常有用的答案:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var el = element(by.id('visibleElementId'));
browser.driver.wait(protractor.until.elementIsNotVisible(el));
票数 8
EN

Stack Overflow用户

发布于 2014-05-15 01:38:43

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
expect(ptor.isElementPresent(by.css('.warning'))).toBe(false);

这是另一种检查页面上是否显示某物的方法。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23086783

复制
相关文章
Metersphere未授权RCE
然后这个时候访问ip:8081端口即可,如果访问的时候提示超时或者其他情况,等待一下就行
UzJu@菜菜狗
2022/04/25
2.1K0
Metersphere未授权RCE
rsync未授权访问
rsync是Linux下一款数据备份工具,支持通过rsync协议、ssh协议进行远程文件传输。其中rsync协议默认监听873端口,如果目标开启了rsync服务,并且没有配置ACL或访问密码,我们将可以读写目标服务器文件。 rsync未授权访问带来的危害主要有两个:一是造成了严重的信息泄露;二是上传脚本后门文件,远程命令执行。
黑白天安全
2020/07/31
3K0
rsync未授权访问
Docker Daemon API未授权
Docker Remote API是一个取代远程命令行界面(RCLI)的REST API,当该接口直接暴漏在外网环境中且未作权限检查时,攻击者可以通过恶意调用相关的API实现远程命令执行
Al1ex
2022/09/07
9710
Docker Daemon API未授权
未授权访问漏洞总结
这篇文章主要收集一些常见的未授权访问漏洞。未授权访问漏洞可以理解为需要安全配置或权限认证的地址、授权页面存在缺陷导致其他用户可以直接访问从而引发重要权限可被操作、数据库或网站目录等敏感信息泄露。
LuckySec
2022/11/02
9.5K0
未授权访问漏洞总结
spring boot 未授权访问
本来是在公司划水的一天,突然接到上级来电,丢给我一个目标站,让我帮忙透一透。
用户6343818
2021/01/26
2.5K0
未授权访问漏洞总结
未授权访问漏洞可以理解为需要安全配置或权限认证的地址、授权页面存在缺陷导致其他用户可以直接访问从而引发重要权限可被操作、数据库或网站目录等敏感信息泄露。
FB客服
2019/07/29
3.4K0
Swagger未授权访问漏洞
Swagger是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。总体目标是使客户端和文件系统作为服务器以同样的速度来更新。相关的方法,参数和模型紧密集成到服务器端的代码,允许API来始终保持同步。Swagger-UI会根据开发人员在代码中的设置来自动生成API说明文档,若存在相关的配置缺陷,攻击者可以未授权翻查Swagger接口文档,得到系统功能API接口的详细参数,再构造参数发包,通过回显获取系统大量的敏感信息。
LuckySec
2022/11/11
51.2K0
Swagger未授权访问漏洞
WIKI | 未授权访问的tips
知识那么多,大佬们学慢点,我营养跟不上啦! 前人栽树后人乘凉,本文主要是把一些资料依葫芦画瓢学习了下,做了个汇总.
HACK学习
2019/08/06
3.9K0
WIKI | 未授权访问的tips
Redis未授权访问漏洞总结
Redis未授权访问漏洞,包括很多姿势,之前一直有接触,但并没有认真总结过,最近有点闲。
用户2700375
2022/06/09
1.4K0
Redis未授权访问漏洞总结
Docker API未授权命令执行
Docker Swarm是Docker的集群管理工具,它将Docker主机池转变为单个虚拟Docker主机,能够方便的进行docker集群的管理和扩展。Docker Swarm使用标准的Docker API通过2375端口来管理每个Docker节点,Docker API是一个取代远程命令行界面(RCLI)的REST API。当Docker节点的2375端口直接暴露并未做权限检查时,存在未授权访问漏洞,攻击者可以利用Docker API执行任何操作,包括执行Docker命令,创建、删除Docker以及获得宿主机权限等。
谢公子
2023/09/01
1.3K0
Docker API未授权命令执行
漏洞复现 - - - Springboot未授权访问
未授权访问漏洞可以理解为需要安全配置或权限认证的地址、授权页面存在缺陷导致其他用户可以直接访问从而引发重要权限可被操作、数据库或网站目录等敏感信息泄露
干掉芹菜
2022/11/19
5K0
漏洞复现 - - - Springboot未授权访问
MongoDB未授权访问漏洞复现
MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。
天钧
2019/12/18
3.7K0
MongoDB未授权访问漏洞复现
AVTECH未授权信息泄露漏洞
POST /cgi-bin/supervisor/adcommand.cgi HTTP/1.1 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0 Accept: text/html,application/xhtml xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: en-US,en;q=0.5 Connection: clo
Khan安全团队
2021/04/21
1.2K0
Redis未授权访问漏洞复现
Redis在默认情况下,会绑定在0.0.0.0:6379。如果没有采取相关的安全策略,例如添加防火墙规则、避免其他飞信人来源IP访问等,这样会使Redis 服务完全暴漏在公网上。如果在没有设置密码的情况下,会导致任意用户在访问目标服务器时,在未授权的情况下访问Redis以及读取数据。
ly0n
2020/11/04
2.3K0
Redis未授权访问漏洞复现
常见的未授权访问漏洞
此漏洞主要是由于JBoss中/jmx-console/HtmlAdaptor路径对外开放,并且没有任何身份验证机制,导致攻击者可以进⼊到jmx控制台,并在其中执⾏任何功能 未授权访问管理控制台,通过该漏洞,可以后台管理服务,可以通过脚本命令执行系统命令,如反弹shell,wget写webshell文件
黑白天安全
2021/04/07
4.4K0
常见的未授权访问漏洞
Docker API未授权漏洞复现
乌鸦安全的技术文章仅供参考,此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失,均由使用者本人负责。
乌鸦安全
2021/08/05
3.1K0
Docker API未授权漏洞复现
常见未授权访问漏洞实例
近来看到不少未授权访问漏洞,心想把这一块的几个漏洞归纳起来看看。未授权访问漏洞造成的危害可大可小,无论是数据库服务、或者像 Weblogic 这种大型中间件都曾出过未授权访问漏洞。本文鉴于前人对每个漏洞的分析十分详细,在此仅简单归纳几个未授权访问漏洞,未进行具体的代码分析,有兴趣的可以根据链接查看分析原文。
信安之路
2021/03/10
2.9K0
常见未授权访问漏洞实例
Elasticsearch未授权访问检测修复
Elasticsearch使用JAVA语言开发并作为Apache许可条款下的开放源码发布,它是当前流行的企业级搜索引擎,其增删改查操作全部由HTTP接口完成,如果Elasticsearch服务直接披露在公网环境中且未对服务访问端口(默认;9200)进行认证配置(Elasticsearch授权模块需要付费,所以免费开源的Elasticsearch可能存在未授权访问漏洞),则攻击者可以拥有Elasticsearch的所有权限,之后对数据进行任意操作,业务系统将面临敏感数据泄露、数据丢失、数据遭到破坏甚至遭到攻击者的勒索。
Al1ex
2022/09/07
3.9K0
Elasticsearch未授权访问检测修复
常见未授权访问漏洞总结
在低版本中,默认可以访问Jboss web控制台(http://127.0.0.1:8080/jmx-console),无需用户名和密码。
Bypass
2020/07/28
3K0
常见未授权访问漏洞总结
redis未授权访问个⼈总结
刚好在整理未授权系列的洞,就学习了⼀波关于redis的,如果哪⾥有讲的不对的地⽅还请各位⼤佬指出.在内⽹中还是很容易碰到未授权的redis或者是弱⼝令的redis,毕竟都这样运维⼈员操作起来⽅便点.
糖果
2020/02/17
1.7K0
redis未授权访问个⼈总结

相似问题

jQuery ajax句柄401未经授权

20

401未授权API

210

401神秘未授权

119

授权头,仍为401未授权

10

GCM未授权错误401

20
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文