Posts

Showing posts from April, 2014

Creating Test Data: How to call Python Function from Java

Image
For my testing purposes, I need to create an e-mail before running automated test cases so that it should used it for new registration and a new one for sending invitation to unregistered e-mail and there are some other test cases which use new e-mail for testing. I have create Python function which produce a new e-mail address in this format: gunesmess+1@gmail.com and next run it will create gunesmes+2@gmail.com and for every run, it creates a new one just increasing the last used e-mail number. You can use this file for your testing too. Just create numberRun.txt file in you directory.

For my recent project, I need to write my automated test cases in Java so I have learnt some Java but not as professional. For this project again I need to create new unregistered e-mail address for using almost the same scenarios. Therefore I needed to call Python function in my Java code, instead of writing it in Java. The following code is used for calling:

What you need is that you must install J…

Using Examples Table in Cucumber

Image
Using Examples in Cucumber is a great thing for testing world! Examples is a keyword and you can define a set of variable to repeat your case with the whole set of data in the examples block. 
We can re-write the examples which checks the login page of amazon.com with Examples feature of Cucumber. Check the following code:

In the amazon_login.feature file we are reading <username>, <password> and <message> variables from the Examples. This means that the scenario which has the steps used these variables will run 2 times, which is the number of row in the examples.

There should some changing in the Capybara, Ruby file. "(.*?)" this means the function takes a string parameter but we are sending table variable so we need to change (.*) for string variable in table and (\d+) for integer variable in table.    

As you can see from the result there are 3 scenarios (3 passed) and9 steps (9 passed). This means that "Scenario: User goes to login page" run for 1…

Test Automation with Cucumber - Capybara - Selenium in Ruby

Image
For a company which uses agile development methodology, test automation is very critical. However meaning of test automation in agile is little bit different from the automation activities in waterfall or V-model development methodology. In agile a user story should be automated before the feature is developed and when it is ready then automated test cases can be run to test user stories.

For agile test automation, using only selenium is not enough or is not the best approach because of the written test cases. There should be another tool used for writing test cases which automation script can understand and perform what test cases/user stories explain. Cucumber is the tool what I want to explain. With Cucumber we can write test cases and with language called Gherkin which is very easy and understandable for everyone. So we just need to learn the keywords like "Given, When, Then, Examples, Scenario, Scenario Outline, ..." they are not too many, for more information about Gher…

Good QA Assignment: You may Want to Ask in Your Interviews

Image
QA position is not like development or analysis position so finding a good QA engineer is not as easy as development engineer. You may ask some technical questions to your QA candidate but half of the QA responsible is related to social ability, and the rest part is related to knowledge about testing domain and practices. I want to share a good review question and a related answers below. Question:Before you start- some directions: You need a computer, it can be a Windows XP/Vista/Windows 7, or a Mac OSX/Linux machine, of course Download the KeePass installer and install it on your machine you intend to test with, install the Classic Edition Version 1.17 from: http://keepass.info/download.html The problem:KeePass Password Safe is a free, open source, light-weight and easy-to-use password manager for Windows. You can store your passwords in a highly-encrypted database, which is locked with one master password or key file. Part 1:Use your skills as a tester to produce a report (in the format…