Mocha expect does not behave as expected - mocha.js

Just noticed something which I find a little strange, the following passes
expect(driver.getCurrentUrl()).to.eventually.contain('Home/Selection/CH')
even though the current URL is www.someurl.com/Home/Selection/XX and there does not contain Home/Selection/CH
Why is this?

Ok, got it:
expect(driver.getCurrentUrl()).to.contain('Home/Selection/CH')

Related

Cypress Assertions contradictions?

So i think this is one area that I run into issues with, and despite Cypress's amazing documentation assertions sort of feel lacking (but maybe thats because they use Chai assertions and I should be looking there? but even then i've run into confusion).
Anyways, it seems like when I am asserting on some items within cypress I return into conflicting results and I can't seem to pinpoint any reason why.
A few examples specifically:
Why does should(‘contain’,'{Some Text}) search child elements but should(‘have.text/value’,{Some Text}) does not? Or at least thats how it appears? I can't find any documentation that states this
In the example above I noticed this when having a cy.get on an angular dropdown toggle with a <span> within it (that contains the text).
Another oddity is have.text vs have.value. I've noticed sometimes works when the other doesn't. For example input fields only have.value works but not contains or have.text. Is there any reason for this?
I guess im trying to figure out if there is some cheat sheet/guide to when to use each one because it's mostly been trial and error for me (But i'd like to know "why" one works and the other doesn't).
Thanks!

I get an error when trying to do TexInfo PDF output

https://www.gnu.org/software/texinfo/manual/texinfo/texinfo.html#Short-Sample-Texinfo-File
In the sample code of the above URL, using TexInfo, I am trying to output PDF, but the following error occurs.
$ makeinfo --pdf sample.texinfo
sample.texinfo:28: #menu seen before first #node
sample.texinfo:28: perhaps your #top node should be wrapped in #ifnottex rather than #ifinfo?
Is there a way to solve this problem?
I was also having this problem, and found an email about this issue which explains mainly that either you can put the #menu within the #ifnottex block (which I find strange that the official sample docs wouldn't), or you can run texi2pdf on the file directly by writing
texi2pdf <FILE>
which works perfectly for me, so I suppose it goes through less validation. Although again it's strange since makeinfo --pdf is supposed to just be a wrapper for texi2pdf from what I understand. texi2dvi --pdf works also.

Response selector -- using variables

My scrapy script returns results when xpaths are hard coded but does not work with variables. What am I missing
The following works:
response.selector.xpath('//*[(#id = "abc")]').extract()
The following DOES NOT works:
response.xpath("{}".format(xpath_variable)).extract()
Can someone please tell me what I'm doing wrong. Thanks!
Just figured this out. There was a mistake with my code since I was replacing text within the xpath. Variables do in fact work. Thanks for looking into this Tomas!

Script not working only in Firefox

I have a script that basically is a search/filter that runs all browsers except firefox. And I dont know what is wrong. I'm trying since saturday find what is wrong, searching here if someone had the same problem and nothing. I'm LEARNING javascript, so I'm hoping someone can point me into the right direction to find what i'm not doing right or what i'm missing. Any help will be appreciated.
http://jsfiddle.net/ccarizzo/GYcbE/
online here
The problem, as you can tell by looking in the error console, is this code:
$(listaProdutos).find('a:Contains(' + filter + ')').parent();
There is no "listaProdutos" variable in the script. You're relying on a non-standard behavior in other browsers that reflects all IDs into the global scope.
This should work:
$("listaProdutos").find('a:Contains(' + filter + ')').parent();
You need a similar change in some other places too.
Use the W3C validator to check interoperability of your web-scripts.
Click here to get yours validated.

How to detect if an element exists in Watir

I'm relatively new to Watir but can find no good documentation (examples) regarding how to check if an element exists. There are the API specs, of course, but these make precious little sense to me if I don't find an example.
I've tried both combinations but nothing seems to work...
if browser.image (:src "/media/images/icons/reviewertools/editreview.jpg").exists
then...
if browser.image (:src "/media/images/icons/reviewertools/editreview.jpg").exists?
then...
If anyone has a concrete suggestion as per how to implement this, please help! Thanks!
It seems you are missing a comma between parameters.
Should be
if browser.image(:src, "/media/images/icons/reviewertools/editreview.jpg").exists?
Also you can find this page useful in future to know what attributes are supported.
The code you posted should work just fine.
Edit: Oops, wrong. As Katmoon pointed out, there is a missing comma.
browser.image(:src "/media/images/icons/reviewertools/editreview.jpg").exists?
One problem you may get caught up in is if the browser variable you specified is actually an element that doesn't exist.
e.g.
b = Watir::IE.start(ipAddress)
b.frame(:name, "doesntExist).image(:src "/media/images/icons/reviewertools/editreview.jpg").exists?
The above code will throw a Watir::UnknownFrameException. You can get around this by first verifying the frame exists or by surrounding the code in a begin/rescue block.
Seems like you are using it correctly. Here is an old RDoc of Watir.
Does it not work because Watir cannot find it? Hard to tell because there is no source or link to the page that is being tested. I think that I only use image.exists?. In general, errors that come from when the image exists but is not found are:
The how is not compatible with the element type. There is a cheatsheet to help you see which object types can be found with different attributes here.
The what is not correct. You may have to play with that a little bit. Consider trying a regex string to match it such as browser.image(:src, /editreview.jpg/). As a last resort, maybe use element_by_xpath, but there are maintenance costs with that.
The location is not correct. Maybe the element is in a frame or something like that. browser.frame("detail").image(:src, /editreview.jpg/).
Try those, but please let me know what worked. One more thing, what are you checking for? If it's part of the test criteria, you can handle it that way. If you need to click on it, then forget the .exists? and just click on it. Ruby will let you know if it's not there. If you need it to be grace, learn about begin/rescue.
Good luck,
Dave

Resources