Monday, June 3, 2024
 Popular · Latest · Hot · Upcoming
108
rated 0 times [  115] [ 7]  / answers: 1 / hits: 23451  / 10 Years ago, fri, december 19, 2014, 12:00:00

I'm newbie to protractor framework, and I've been trying for a while to figure out how to get the outerHTML/InnerHTML/getText() (child elements) so that I can test if an element <img> is rendered onto a view. Heads up, we've an ng-grid and I'm trying to look up in its first column to see if it contains an img element also check if it contains an attribute i.e. src=res/someImg.png.



Here is what I got



html



<div>
<a>
<div>
<div>
<span>
<i><img src=res/someImg.png></i>
</span>
</div>
<div>
...
</div>
<div>
...
</div>
</div>
</a>
</div>


test



it('should render an icon in agent list', function () {
var row = element.all(by.repeater('row in renderedRows')).get(3);
expect(row).not.toEqual(null); //pass
expect(row.element(by.css('img')).getAttribute('src').getText()).toMatch(/someImg.png/);//fail with null
expect(row.element(by.css('span')).outerHTML).toBe('<i><img src=res/someImg.png></i>'); //fails
expect(row.element(by.css('i')).innerHTML).toBe('<img src=res/someImg.png>'); //fails

});


Can someone tell what am I doing wrong please?


More From » angularjs

 Answers
302

A little more explicitly:



expect(row.element(by.css('img')).getAttribute('src')).toMatch(/someImg.png/);
expect(row.element(by.css('span')).getOuterHtml()).toBe('<i><img src=res/someImg.png></i>');
expect(row.element(by.css('i')).getInnerHtml()).toBe('<img src=res/someImg.png>');

[#68435] Wednesday, December 17, 2014, 10 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
zahrafrancisr

Total Points: 176
Total Questions: 105
Total Answers: 99

Location: Svalbard and Jan Mayen
Member since Sun, Sep 25, 2022
2 Years ago
;