How to test chrome.alarms api? - testing

I have a chrome extension that uses several alarms scheduled to trigger every hour, every day, etc.
Testing alarm-related features is a pain for our testers, because they need to change system time. What they actually do:
close chrome
open system date/time dialog
move system date ahead
open chrome
Could anybody suggest more convenient ways to make functional tests of chrome alarms?
We check on both windows and OSX.

Related

How can I get system uptime programmatically on the chrome-os platform?

System uptime is available in chrome without enabling the developer mode via the crosh window and the command top. I'd like to be able to access this programmatically within my chrome app. I'm not seeing it jump out at me in the chrome apis here.
Uptime usually includes both the load average and the time since the last boot-up. I'm mostly interested in the time since the last boot-up.
How can I get system uptime programmatically on the chrome-os platform - without enabling developer mode?
I do not have a chrome development environment set up at the moment, or I'd try. But chrome.system.cpu.getInfo() looks like it will give you what you want. Note that the processors array gives cumulative time (total) that may be equivalent to time since last boot.
See https://developer.chrome.com/apps/system_cpu.

What tools should I use Selenium or nightwatch or other to automate data entry on few similar websites at the same time?.

I need to enter pretty much the same date on few handful of similar sites using web automation tools/ software. I am not doing testing I just want to use automation side of the tools. I need to enter the data same time ( as real time as possible ). I am wondering if one tool has advantage over other as I am using it just for automation.

Want to know automation in verifone terminal is possible or not?

I want know about test automation in VeriFone terminals--is possible or not? Is there anyway to do automation for it?
There is a tool called VeriFind that is packaged with the DTK that is supposed to be for this purpose (note: I've never used it).
From the documentation:
The VeriFind Test Automation Tool is an integrated testing tool that
aids testing applications written for Verix eVo terminals. This
Windows-based tool simulates user actions, such as key presses and
magnetic card swipes, which help automate the execution of test
suites. It provides a scripting utility, file transfer utility,
screens on the terminal, RAM status, date and time as in the terminal,
and records user actions to play back later.

Possible issue with running selenium tests on one machine concurrently

I have multiple similar sites (same layout, just different data), and each of them has drop down menu on mouse over (and disappears on mouse out).
I am using Selenium 2 and WebDriver, and I have one selenium test case that basically do the mouse over and make sure each of the link in the drop down menu works.
I am using selenium grid, so I have a hub and few test machines.
Because I have many sites (few hundred) to test, so I am thinking of making each machine to run the test case against multiple sites in parallel.
My concern is because there can be only one active browser at a time, will it cause issue if web driver tries to perform Action.moveToElement() on multiple browsers at roughly the same time? Will only the active browser performs Action.moveToElement() properly and other browsers fail? If there will be an issue, is there any workaround?
I have tried it using JUnitCore.runClasses(ParallelComputer.classes(), SomeClass1.class, SomeClass2.class, SomeClass3.class);, it decreased the passed tests percentage from 100% to about 67% when running three tests on a machine. Not good =/.
The good part - firefox actually can do it in parallel. If the FF instances are delayed between each other so they don't do the same thing at the same time, it works better. Some of the failures happened during a Firefox bootup - so if you can minimize closing and opening windows, do it. But still, sometimes it just fails for no reason.
If you really would use the saved time, then go for it, log all failed tests and run them again after the first round - this time one at a time.
You could also solve this, depending on your ultimate goal of testing, by not using the Action class with the mouse-movement click, but instead use the WebDriver findBy-click method or Javascript executor method. It would probably be less contentious when running multiple windows at the same time. If the Action class, when defining a mouse movement, uses native calls at all, such as "move to Point", then one browser over the top of another, then I would guess it's possible that the movement point could be masked by another window. I am really not sure about this, just giving you another idea to try.

Selenium to do automated smoke testing on an interval

I've actually looked through Selenium questions on here and didn't find quite what I was looking for.
Basically I have about 10 "use cases" for smoke testing my site. Basic things such as, can a user log in, can they register etc..
I want to set this up on an interval such as every 10 minutes run these tests.
Is this possible with Selenium Remote Control? Does anyone have a link/tutorial they could point me towards. I'm fairly confident this is possible but I'm just not 100% sure how to get it all set up and running.
Thanks in advance.
Yes this can be done with Selenium RC. I have some Selenium Tutorials on my site. I have set up a basic user experience monitor before using Selenium RC, C#/Nunit and Windows Scheduled tasks to start the job to check the speed of our web app through the day.
Since I recommend using Selenium RC you can use any language you want to write the test.
Dending on what kind of environment you're working with you could use something like JUnit and an automated build system like hudson. This gives you all sorts of notification infrastructure when something goes wrong.
I have known people to run a script like this against both test and production systems (with a fixed user). In test environments you can discover programming mistakes, in production you can assess the up-ness of your system at a far more interesting level than pings or process watching.
Take a look at New Relic's Synthetics product, which wraps Selenium and provides periodic runs with alerting.