当前位置: 首页 > 面试题库 >

主张一个要素是集中的

韩寂离
2023-03-14
问题内容

根据我如何断言一个元素是集中的?线程,您可以通过切换activeElement()到来检查元素是否聚焦,并断言这与您期望获得焦点的元素相同:

expect(page.element.getAttribute('id')).toEqual(browser.driver.switchTo().activeElement().getAttribute('id'));

就我而言,当前关注的 元素没有idattribute

我应该怎么做而不要检查id

额外的问题:另外,从我的解决方案尝试中可以看出,我似乎无法期望/断言一个元素(或Web元素)作为一个完整的对象。为什么?

我试过了:

expect(page.element).toEqual(browser.driver.switchTo().activeElement());

但是失败并出现一个我什至无法理解的错误-存在巨大的回溯(在控制台中滚动大约需要10分钟),但是里面没有用户友好的错误。

我也尝试使用getWebElement()

expect(page.element.getWebElement()).toEqual(browser.driver.switchTo().activeElement());

但这导致以下错误:

错误:期望通过WebElement参数调用,期望为Promise。您是要使用.getText()吗?

使用最新的量角器开发版本。


问题答案:

在我的答案我要去承担activeElem,并pageElem都量角器元素发现者,并都指向同一个网页元素。

首先回答你关于为什么的问题

expect(activeElem).toEqual(pageElem);

陷入无限循环,这是因为量角器expect声明之前修补了茉莉花以解决诺言,因此诸如此类的事情expect(activeElem.getText()).toEqual('text');无需做

activeElem.getText().then(function(text) {
  expect(text).toEqual('text');
})

您可能会说,为什么不只解决一次诺言呢?但是,这里有嵌套的承诺。

因此,现在您可能会认为这是一个问题,但实际上不是因为您永远不会在实际用例中比较两个elementFinders。Jasmine的toEqual进行引用检查,而不进行深度比较,因此expect(activeElem).toEqual(pageElem),与简单的引用比较相同:(activeElem===pageElem).toToTruthy(),这样做真的没有意义。(注意element(by.css('html')) ===element(by.css('html'))是错误的,因为它不是相同的参考。)

因此,要回答此线程的真正问题:如何查看两个elementFinders是否具有相同的基础网络元素:

expect(activeElem.getId()).toEqual(pageElem.getId());


 类似资料:
  • 问题内容: 我正在尝试验证是否在页面加载时设置了聚焦元素,这是我的测试之一。 这似乎是可行的,我可以使用元素资源管理器进行验证,但是Jasmine匹配器似乎对此并不满意。 这是我的代码: 当页面加载时,字段本身正确地获得了焦点(并且元素资源管理器正确地使我可以通过来查询此内容,因此我认为该测试应该通过了,但事实并非如此。 相反,我得到了一个巨大的堆栈跟踪,其中没有提供任何有用的信息。 问题答案:

  • 问题内容: 我正在使用下面的代码寻找2500的主要因子,但是我的代码当前仅显示2,因此我不确定为什么会这样。 谢谢 问题答案: 使用 erathesthenes筛子首先生成素数列表:

  • 本文向大家介绍块的主要元素是什么?相关面试题,主要包含被问及块的主要元素是什么?时的应答技巧和注意事项,需要的朋友参考一下 回答:以下是块的主要元素: 指向上一个块的哈希指针 时间戳记 交易清单

  • 关于合流博客 只有一次语义是可能的:Kafka就是这样做的 精确一次语义学:即使生产者重试发送消息,它也会导致消息仅一次传递给最终消费者。精确一次语义学是最理想的保证,但也是一个很少被理解的保证。这是因为它需要消息传递系统本身与生成和消费消息的应用程序之间的合作。例如,如果在成功消费消息后,您将Kafka消费者倒带到上一个偏移量,您将再次收到从该偏移量到最新偏移量的所有消息。这说明了为什么消息传递

  • 问题内容: 我收到这个错误 ‘ValueError:Tensor Tensor(“ Placeholder:0”,shape =(1,1),dtype = int32)不是此图的元素。’ 不使用,代码运行正常。但是我需要多次调用,每次之后内存都不可用。可能存在内存泄漏,但不确定在哪里。 我想还原一个预先训练的神经网络,将其设置为默认图,并在默认图上对其进行多次测试(例如10000),而不必每次都使

  • 本文向大家介绍C#中判断一个集合是否是另一个集合的子集的简单方法,包括了C#中判断一个集合是否是另一个集合的子集的简单方法的使用技巧和注意事项,需要的朋友参考一下 看到这个标题,我们首先想到的是循环遍历其中一个数组,判断数组中的每个元素是否都在另一个数组中出现了,以此来判断该数组是不是另一个数组的子集,但是这样做就太过复杂了,有没有简单一点的方法呢? 打个比方,有这样的两个集合: 现在需要判断sm