Software Automation tool - automation

At my company, we have to fill out a daily timecard, and I want to automate it.
I want to use some sort of tool that will allow me to write something like this:
Launch Firefox
go to www.example.com/timecard
Wait for page load complete
In UserName box: put username
In Password box: put password
Press enter
Wait for page load complete
if login failed
email me#example.com that unable to automatically do timecard, please check password
return;
Get today's date
if today is Saturday or Sunday
close firefox
return;
find the timecard column that matches today's date
find the row with the right charge number
put in 8.0 hours
click "Save" link
close firefox
return;
It would be really nice if the software solution will also execute itself daily at a given time.

Since you are asking about UI automation you might want to check out AutoHotKey.
It's a macro language and you can compile the code into executable binaries (.exe).
However, sending web request could be done better without a browser by sending the necessary HTTP requests. Such an approach is more light-weight, more flexible and probably easier to maintain as well.

Check out the Chickenfoot extension for Firefox. I believe it may help you a long the way.
Chickenfoot is a Firefox extension that puts a programming environment in the browser's sidebar so you can write scripts to manipulate web pages and automate web browsing.
It also provides a basic record feature, and you can then fine-tune the interactiosn with the web page(s).

If all you need to automatize is related to browsers, then you may try out Selenium Remote Control which provides libraries in different languages.
For browser automation, there are a couple more experimental libraries in javascript (you should search for web app testing tools as these are imo your best bet for now)
./alex

For decision making, you might have to write some code.
iMacros for firefox has the ability to record/playback.

I have not used it myself but I have heard good things about Selenium. This is a Web UI testing tool that can be scripted in a number of different languages.

I would try to accomplish this with twill.

If by "some sort of tool" do you mean something like a programming language or environment that will allow you to automate what FireFox does? If so, I recommend learning how to write a FireFox extension. Extensions are written in Javascript. See https://developer.mozilla.org/en/Extensions
--
bmb

You could use selenium or watin on a simple .net console program. Then configure a task on window to call it at a given time of day.

If you are using Linux you could easily do this with a bash script of some kind. Have a look at the CURL library.http://curl.haxx.se/. You could then schedule the script to run with cron.
This is why I love Linux, the above is simple to do. I windows I suppose you could use the windows shell. I think the curl library runs on windows.

Selenium (www.openqa.org) tools will work for you. Install the Selenium IDE and record the macro. The "code" is simple JavaScript/HTML.
Selenium RC provides a very strong solution for automated testing from a variety of languages and tools.

Related

Options for recording the tasks done in a browser for UI Automation Test

Is there a tool that can record user interactions with DOM elements for usage in creating automated tests (I'm using Codeception and Laravel Dusk but any tool with roots in Selenium is fine). I'm looking for something to record a sequence and get back a list that might include:
Browser navigate to /contact
Focus input "#name"
Enter text "Joe" in input #name
Focus textarea textarea[name=message]
Enter text "Hello world" in textarea textarea[name=message]
Click element input[type=submit]
Browser navigate to /contact?thanks
I see GhostInspector but that is tied directly into a cloud based company and I don't want that, I'd like some degree of control over what the plugin does and be able to record pages not on the public web.
I can see building a tool that recorded every action is non-trivial - mousemove events, focus, text selection, keyboard events, scroll events, etc. Ideally I can say "listen to every focus, click, and keyup event on an input or textarea or button or select or option" and also watch for url changes.
Does such a tool exist? Doesn't matter what browser stack it runs on really, just need the ability for a user, maybe a novice user, to go to a website, hit record, do some actions, and get back a list of what occurred.
The instantaneous downvotes that contend my question is "not about programming" prompt me to improve my question. I don't presume the nature of the tool - it might be programming methods? Ways to use the browser to listen for all events and log them in some manner? Might be a Chrome extension? Might be a framework? Might be a library? I'm looking for the experience of programmers to help me with the programming task I'm trying to accomplish.
Have you tried using the Chrome extension Laravel TestTools?
https://chrome.google.com/webstore/detail/laravel-testtools/ddieaepnbjhgcbddafciempnibnfnakl
Katalon Recorder (Selenium IDE for FF55+)
https://addons.mozilla.org/en-US/firefox/addon/katalon-automation-record/
The straight answer to your question is: Yes there are a number of tools available that are on top of Selenium. I will briefly discuss the top ones that also support browser extensions
1. New Selenium ID(Open Source)- Selenium is possibly the most popular open-source test automation framework for Web applications. The new Selenium IDE is designed to record your interactions with websites to help you generate and maintain site automation, tests, and remove the need to manually step through repetitive takes.
Features:
Recording and playing back tests on Firefox and Chrome.
Organizing tests into suites for easy management.
Saving and loading scripts, for later playback.
Selenium has become a core framework for other open-source test automation tools such as Katalon Studio, Watir, Protractor, and Robot Framework.
FireFox Extension
Chrome Extension
2. Kantu(Open-source)- It is a record & replay tool for automated testing, web automation, automating file uploads and autofill form filling. The visual UI testing commands of Kantu help web designers and developers to verify and validate the layout of websites (and canvas elements).
Features:
Kantu provides with built-in flow control commands like if/else/endif, while/endWhile or GotoIf
FireFox Extension
Chrome Extension
3. Katalon Automation Recorder- Katalon have Katalon Studio which is a completely free desktop application. Recently they launched new Selenium IDE that helps you record actions, capture web elements on web applications, play automated test cases, and do reporting quickly and easily.This Extension was the champion project of Katalon Studio Hackathons contest.
Features:
Record, play, debug with speed control, pause/resume, breakpoints capabilities.
Enjoy fastest execution speed compared to other extensions with Selenium 3 core engine.
Import test data from CSV files for data-driven testing.
Report easily with logs, screenshots capturing, with historical data and analytics from Katalon Analytics.
FireFox Extension
Chrome Extension
Few references for further comparison:
https://medium.com/#briananderson2209/best-automation-testing-tools-for-2018-top-10-reviews-8a4a19f664d2 (comments section will also helpful)
https://a9t9.com/blog/selenium-ide-2018/
https://www.g2crowd.com/categories/test-automation
https://www.qasymphony.com/blog/100-plus-best-software-testing-tools/

How to set manually opened browser as Selenium webDriver

I am working on automating a web application.
I have many pages like login page etc. and I have many tabs. Each tab will open different page, for example, if I want to open page3, I have to go through page1 first then page2.
Here my problem is If I want to test some functionality on page3, then I have to go through all pages. It is taking so much time to test single functionality I need to spend so much time.
Is there any way I can set already opened browser as Selenium WebDriver?
Unfortunately, no.
This is the most starred feature request on Selenium as of now (February 2013, current Selenium 2.30.0). It's also one of the oldest.
http://code.google.com/p/selenium/issues/detail?id=18
There has been some work on Firefox for this, but it's undocumented, very experimental and no changes have been seen on it for quite a while. For more information, look at the linked feature request.
Front-end automation is hard, Selenium can only do what a normal user could do. The best you can do is to run the tests in parallel on many remote machines.
No... It is not possible....
In order to reduce the manual execution, we are moving towards automation.
Inbetween you cannot automate.

TestComplete import testscenario from Selenium

Maybe this sounds ridicilous, but still, is there somekind of way to convert/import/hack selenium test scenario to get work on TestComplete?
I ask this, because my boss asked me to find a way, we are using Selenium, but our customer want us to give him TestComplete scripts, so we dont want to buy licence for 1 customer and i havent find any yet and belive there is no... maybe im missing something? Thanks you and have a nice day.
There is no direct ways to convert Selenium tests to TestComplete as these tools use different principles. Selenium works with web pages "from inside" (programmatically) while TestComplete does this "outside" by simulating user actions: it sends mouse clicks and key presses to the browser.
I think that it is possible to invoke Selenium tests from TestComplete, but you will not have any results in TestComplete and you will be unable to modify tests in it.
BTW, you can request a free 30-days trial if a month is enough for you to convert the tests.

What's the simplest/easier way to do a health check/smoke test in an internal web app?

I have an intranet web application and I would like to do a simple health check/smoke that runs once an hour to make sure that everything is how it is supposed to be.
The tests are supposed to do some requests and check response for text and in some cases do one or two POSTs to see if the application in answering like it should.
I thought about using Selenium or Visual Studio's WebTest and schedule the run via CC.NET or another CI application but seems like a big shot for a simple thing.
Any ideas?
Thanks
Selenium is a good option. So is PhantomJS.
I dare to say that SWAT could be a good choice for you. It does exactly what you say - makes various http calls and check data returned, also it is possible to pass the test results to different report systems, using TAP format which swat is compliance with. And finally there is a simple DSL to write such a checks.
Regards, the author.

script to click a link at a certain time

I am interested in writing a script that goes to a website and clicks a link at a certain time. How do I go about doing something like this?
You should use selenium http://seleniumhq.org/
You can control it using anyone of the language you specified in the tags.
You can start to browse from
http://seleniumhq.org/projects/remote-control/
"clicking a link" could have two meanings:
Actually clicking the link in a browser, or just doing an HTTP GET that would result from it. This could be as simple as software that runs on your desktop and simulates a click at a certain point, to something as complicated as Selenium for automation of website interactions.
If you just need to do the GET request that clicking the link would do, anything would do. Unix systems typically include wget and curl, which take a url to request. Or if you want to process the data, you can do this in most programming languages. For example, in python you could do urllib2.urlopen('http://stackoverflow.com') and then do whatever you want with the data. Perl has an equivalent.
Are you familiar with cURL?