1) have strange mistake in protractor code. , don't understand may reason of it.
it('should filtering interval correctly', function () { filter_field.click(); var filter_field_text = filter_field.element(by.css('input')); var exist_value1 = element(by.xpath('//tr[@data-row-index="1"]/td[@data-column-index="5"]/div')).gettext().then(function (value) { var floatvalue = parsefloat(value); return (floatvalue); }); var exist_value2 = element(by.xpath('//tr[@data-row-index="1"]/td[@data-column-index="5"]/div')).gettext().then(function (value) { var floatvalue = parsefloat(value); return math.round(floatvalue) + 1; }); filter_field_text.sendkeys(exist_value1); filter_field_text.sendkeys('-'); filter_field_text.sendkeys(exist_value2); browser.sleep(3000); var filtered_values = element.all(by.xpath('//tr/td[@data-column-index="5"]/div')); filtered_values.each(function (element, index) { var current_value = element.gettext().then(function (value) { var floatvalue = parsefloat(value); return (floatvalue); }); expect(exist_value1 <= current_value).tobe(true); }); if (true) console.log("test done!"); }); i have wrong result: 'expected false true' although, absolutely similar code working fine:
it('should filtering one-sided < interval correctly', function () { filter_field.click(); var filter_field_text = filter_field.element(by.css('input')); var exist_value = element(by.xpath('//tr[@data-row-index="1"]/td[@data-column-index="5"]/div')).gettext().then(function (value) { var floatvalue = parsefloat(value); return (floatvalue); }); filter_field_text.sendkeys("<"); filter_field_text.sendkeys(exist_value); browser.sleep(3000); var filtered_values = element.all(by.xpath('//tr/td[@data-column-index="5"]/div')); filtered_values.each(function (element, index) { var current_value = element.gettext().then(function (value) { var floatvalue = parsefloat(value); return (floatvalue); }); expect(exist_value <= current_value).tobe(true); }); if (true) console.log("test done!"); }); 2) have question complex expectations. can like:
expect(exist_value1 >= current_value & exist_value2 <= current_value).tobe(true); in tests isn't work.
can print these values before expect statement? float value might different if getting derived through calculation. use parsefloat(yourstring).tofixed(2) float value till 2 decimal places.
Comments
Post a Comment