量角器 – 如何测试img标签是否存在?

量角器 – 如何测试img标签是否存在?,第1张

概述如果我期望(img).not.toBe(null),那么我得到一个错误: 错误:期望使用WebElement段进行调用,预期一个Promise。你的意思是使用.getText()?我不想让文本在img中,我只想知道标签是否存在于页面上。 describe('company homepage', function() {it('should have a captcha', function() 如果我期望(img).not.toBe(null),那么我得到一个错误:
错误:期望使用WebElement段进行调用,预期一个Promise。你的意思是使用.getText()?我不想让文本在img中,我只想知道标签是否存在于页面上。
describe('company homepage',function() {it('should have a captcha',function() {    var driver = browser.driver;    driver.get('http://dev.company.com/');    var img =driver.findElement(by.ID('recaptcha_image'));    expect(img.getText()).not.toBe(null);});});

通过,但我不知道它是测试正确的事情。将ID更改为不存在的值会失败。

如何在非角度的应用程序上下文中使用量角器进行正确的测试?

解决方法 编辑2:

每个编码下面的Smackdown,一个更短的答案现在可以在量角器:

期望砥(真)(元件(by.ID( ‘recaptcha_image’))isPresent()。)。

编辑1:

我今天发现了isElementPresent(),这只是我下面描述的一个更可读的快捷方式。见:http://www.protractortest.org/#/api

你的用法是:

driver.isElementPresent(by.ID('recaptcha_image')).then(function(present){    expect(present).toBe(false);})

老回答(这个工作,但上面是更加读者友好)

一般来说,如果你不确定一个标签将在那里,你应该使用findElements(或者$$这是findElements的别名)。然后测试数组长度。 FindElement(和$)将抛出一个错误,如果它找不到该元素。

因此而不是

var img =driver.findElement(by.ID('recaptcha_image'));expect(img.getText()).not.toBe(null);

使用:

driver.findElements(by.ID('recaptcha_image')).then(function(array){    expect(array.length).not.toBe(0);})

另外,getText()返回一个承诺,这就是为什么你得到这个错误。

总结

以上是内存溢出为你收集整理的量角器 – 如何测试img标签是否存在?全部内容,希望文章能够帮你解决量角器 – 如何测试img标签是否存在?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1110780.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存