TestCafe headless localization parameters - testing

I am writing a fixture, and multiple tests assert the page's title to be some value. However, I did not account for the fact that the website is localized. My normal browser settings are English, but when I run the testcafe chrome:headless myTests.js my tests fails because the Localization changes, perhaps due to my PC's language?
I have tried running my local chrome installation and adding :userProfile, but without luck sadly.
The only other information I can find regarding this issue is, but I can't make it work:
TestCafe & chrome:headless : how to force the browser language (locale)

I found my answer here - go give them a like if it solves your issue as well.
Solution:
I use the following command to launch chrome headless with a locale specified:
testcafe chrome:headless --lang=en-US

Related

Testing frontend webpages solve selenium-ide issues or change to so?

i'm using selenium ide to test webapp frontend webpages.
I'd like to test via cli AND via gui having to mantain one scripts only.
When automating tests via selenium-side-runner it does not handle alert/confirm command if i don't change any "choose ok on next confirmation" with "webdriver choose ok on visible confirmation", but after change it side gui does not handle it.
Even exporting to python has some incokmpatiblity with gui.
Anyone knows the proper way to record a side.script with gui and run with cli without having to modify it and letting run the tests with the gui again?
I've see many complaining about this without solution, do you advise to use another fronted tester in the place of side? Why?
Thanks.
Just reporting what said on github's bug tracker issue 1270 by toddtarsi.
There's no way to have one script only to handle gui and cli tests. We have to wait for selenium-ide v4 (not SELENIUM).
The correct way is webdriver one.

Can we customize Chrome browser launch with different options using Chrome Java API? [duplicate]

I am using the Karate framework to do the API testing. As part of CI efforts, we send an email at the end of test execution listing the summary of test results. There is a need to include the screeshot of the test execution counts from 'overview-feature.html' file.
I did so through the TestRunner.java file - launched Chrome using Chrome.start() and then using it to take screenshot. It all works well locally on Windows.
However when executing on CI server which is a Unix box, the chrome executable is not present in the default location (usr/bin/google-chrome) and hence the connection for the localhost fails.
Is there a way we can change the default location of the chrome executable?
PS: Apologies if this was too trivial to be asked.
Yes Chrome on CI is hard to get right, refer: https://stackoverflow.com/a/62325328/143475 - note that CI boxes typically are "headless" a browser may not be even installed.
I think the best thing for you is to ZIP the HTML and send it. But I really think you need to work with some CI experts, because the report generation and e-mailing business is normally done by things like Jenkins. What you are doing is certainly not normal or best-practice.
If you really want, there is a Karate Docker container that can give you a proper Chrome instance (see docs) but that is overkill for what you need.
EDIT: The Chrome Java API allows for customization of the executable path and this is in the docs: https://github.com/intuit/karate/tree/master/karate-core#chrome-java-api
It should be something like this:
Chrome.start("/opt/blah/chrome");

Firefox - disable welcome screen when running as Capybara driver

Trying to run Capybara tests with Selenium is failing for me because the "Welcome" page (https://www.mozilla.org/en-US/firefox/45.0.1/firstrun/learnmore/) pops up no matter what preferences I set. I assume this is because Selenium is using the default profile, and while I've found some information on configuring user.js and prefs.js in the mozilla profile folder, nothing I've tried has worked.
Has anyone else figured out how to configure Firefox to prevent the welcome page from killing your tests? If so, please share!
Just found a work-around, I was able to introduce a 1 second pause as the first command, give that a shot.
I settled on a workaround for this issue. Unfortunately, it is to use the Chrome driver and abandon Firefox altogether. Sorry Mozilla.

Do we have interactive mode in selenium webdriver?

I am a newbie to Selenium.I want to know do we have any interactive mode to automate Selenium webdriver.Because i want to test each and every line is correct or not while automating.I have Automated Watir earlier,i have used "irb" to interact with.Please help me do we have any similar kind of mode in Selenium webdriver.
IRB is nothing Watir specific it is just an interactive ruby shell (IRB = Interactive Ruby Shell) and thus you can also use it to work with Selenium. You only need the selenium-webdriver gem and then you can start.
You can also find a good getting started tutorial here: http://aspyct.org/blog/2012/09/09/functional-web-testing-with-selenium-and-ruby/
I'm sorry if this topic may feel so old, but I have an idea for this.
You can use the python interpreter in the terminal and type each line:
from selenium import webdriver
b = webdriver.Firefox()
b.get('https://www.google.com')
And so on :)
I use a debugger (byebug gem) to stop tests at the point where I need to continue the automation interactively. I prefer to have all gems, modules, and classes available when I hit the breakpoint.
I also wrote a couple methods that will reload page object classes from the commandline/breakpoint. I can add a new method, reload, and verify it works, and move on to the next action; all without restarting the test.

Implementing selenium with Jenkins and PHPUnit

I'm trying to do set up some Selenium WebTests using PHPUnit, but php is no longer supported by Selenium IDE, does this mean I have to re-write all my tests into php in order to use this method?
I'm trying to set up a continuous integration system, but have never even used one before, I tried using jenkins-php.org but it wasn't very helpful.
The newer releasee Selenium IDE "claims" it does not support PHP,
But you can still convert your IDE to PHP or PHPUnit.
(In Selenium IDE) Option > Options > Enable Experimental Functions.
With this option checked you can switch your format under Options again.
You may still want to review your code.
Hope this helps and it is what you meant by "Selenium IDE does not support PHP".
I was able to find: https://addons.mozilla.org/en-US/firefox/addon/selenium-ide-php-formatters/
It allows output from Selenium to PHP, either PHPUnit format or Selenium Testing.
However after all this playing around it became apparent that the best way was to use htmlSuite, it has the most support when it comes to automation and seems to work out of the box, whereas PHPUnit testing requires lots of tinkering.
After a lot of hacking around it became apparent that the best solution is this tool:
http://www.enjoyxstudy.com/selenium/autoexec/index.en.html
It works out of the box, supports htmlSuite, works with windows and linux, runs most browsers, sends email reports, can get new tests from SVN, integrates with Jenkins well, and works with Selenium tests, its not PHP based tests but it works wonders compared to the other tools I tried out.
Really, so much easier, very user friendly, free and works out the box.