如何获取量角器中根 div 元素内存在的子 div 元素的数量
Posted
技术标签:
【中文标题】如何获取量角器中根 div 元素内存在的子 div 元素的数量【英文标题】:How to get the count of the number of child div element present inside a root div element in Protractor 【发布时间】:2014-03-27 12:17:45 【问题描述】:我正在使用 Protractor 测试一个 Web 应用程序项目。我编写的几个测试用例运行良好,但是当我尝试计算父 div 元素中存在的 div 元素的数量时遇到了困难,下面给出了我的 div 的结构
<div class="page-kontact-main">
<div class="buttons contact_page">
<a href="http://mysite.se/om-oss/" class="btn btn-default button">Om oss</a>
<a href="http://mysite.se/offert-3/" class="btn btn-default button">Offert</a>
<a href="http://mysite.se/tjanster/" class="btn btn-default button">Våra Tjänster</a>
</div>
<div class="row kontact-title">
<h2>Våra medarbetare</h2>
<p>
Test desc <span class="s47jd228h2" id="s47jd228h2_5">med</span> passion och engagemang för it & system. Skicka in din ansöka
</p>
<p> </p>
</div>
<div class="row clearfix">
<div class="col206"></div>
<div class="col206"></div>
<div class="col206"></div>
<div class="col206"></div>
<div class="col206"> </div>
<div class="col206"></div>
<div class="col206"></div>
<div class="col206"> </div>
</div>
</div>
我已经编写了如下所示的测试用例,但它没有运行,错误预计未定义等于 21。
it('Getting the count of contact names ', function()
driver.get("http://mysite.se/kontakt/");
var element = driver.findElement(protractor.By.css('.clearfix .col206'));
expect(element.length).toEqual(21);
);
谢谢 乌特帕尔
【问题讨论】:
你好乌特帕尔。请提供更多的html。这个 html 的问题是可能有其他元素的类名明确修复。您也可以使用 findelements 方法。如果您可以从您提供的 html 的上部提供更多 html,我可以提供代码。 @Vinay 我已经提供了更多的 html 代码,请查看并提出一些出路。 这对您有帮助吗:***.com/questions/21685161/… ?我在beforeEach
中使用了element.all()
。
@glepretre 我正在测试的部分是非角部分,所以 element.all 不起作用
"element 是一个辅助函数,用于查找您正在测试的页面上的元素并与之交互" - 来自Protractor - Getting Started。它是一个全局变量,您应该可以使用它来测试非角度部分/页面。
【参考方案1】:
您应该使用 element.all 和 count() 而不是 length:
it('Getting the count of contact names ', function()
driver.get("http://mysite.se/kontakt/");
var elements = element.all(protractor.By.css('.clearfix .col206'));
expect(elements.count()).toEqual(21);
);
【讨论】:
【参考方案2】:$
和$$
等价于element.all
和by.css
,所以可以使用下面的代码
it('Getting the count of contact names ', function()
driver.get("http://mysite.se/kontakt/");
var elements = $$('.clearfix .col206'));
expect(elements.count()).toEqual(21);
);
【讨论】:
以上是关于如何获取量角器中根 div 元素内存在的子 div 元素的数量的主要内容,如果未能解决你的问题,请参考以下文章