错误:期望使用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标签是否存在?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)