JMeter – Load tests problems

Hello everyone!

Couple days ago I’ve started to work with JMeter in more serious way. We have to make some loadtests with 2 threads group and they should clean all the data after finishing their work. Sounds like fun? NOPE.

First of all we’ve got simple step-by-step actions like this:

Admin registers his organization
Loop:
Admin invites user
User registers
User does some actions
User loks out
System Admin removes an organization

But it can’t be like this. My first mistake was about Registration of Admin – what will happen when it fail? So I add if statement.

Admin registers his organization if register was successfull: Loop: Admin invites user User registers User does some actions User logs out System Admin removes an organizationRead More »

User story, use case, test case – difference

User stories – description of the goals that should be achieve by specific action. As a [role i.e: admin] I want to [specific action] so that [goals to achieve] No details are needed ; )

Use case – describes a flow of steps/actions to get the goals. It should contain details!

Test case – derived from use cases (more formal, written by test engineer)

  • logical – high level – describes test conditions and result (i. e. ‘correct login and password’ and in result ‘logged user’
  • concrete – low level – gives the input data to create test condition and the output data is observed in the result (i. e. ‘login: abc, password:123’ and result ‘seeing main panel’

Gmail & IFrames with Selenium WebDriver & Java

There were (or are) a lot of opinions that testers from OUTSIDE of Google shouldn’t test their products – and they are right : D In 100% I agree with them. Why? Because I have experienced for myself.

When I was making some tests for recruitment process I was told to use Gherkin and test some gmail functions.
Then problems start to multiply… because of IFrames. As you may know iframe has their own DOM so it’s hard to find elements when there are a several iframes on page. Things go worse when iframes are generated by javascript…

When your testing object has iframe(s) you have to switch between them and (what is harder imo) REMEMBER about that.
If you don’t switch in crucial moment then you will be ponder about what kind of mistakes you make ;) I’ve lost for that couple of hours. Seriously.

Using switchTo statment is really easy. On stactOverflow you may find lot of examples. In my code (for gmail) I use three just three of them.

First one – the most usefull in my opinion:

driver.switchTo().activeElement();

This gives you activeElement – but nobody says this is element that you need ; ) Nonetheless it can show you where and in which DOM you currently are, shielding you from terrifying question:  ‘why I can’t find selector?’ in most cases. You can just list your DOM by getPageSource() and voilà.

Second one is defaultContent:

driver.switchTo().defaultContent();

sometimes usefull sometimes not. You have to use it when you switch between iFrames.
Step 1: go OUTSIDE of frame by using code above
Step 2: find iFrame you want
and the Third one:

driver.switchTo().frame(driver.findElement(By.className("example")));

And there is our step two – find iFrame you want.

iFrames are sometimes hard to manage but we have to deal with it : ) We are not developers. We can suggest them what may be easier for us to implement in tests but it still depends on developer if he/she will make our live easier : )

Have fun with tests!

Recognize Elements Randomly – Firefox 35.0 and Selenium WebDriver problem

Few days ago I was writing sample automated test for project (for work). And I have several problems with firefox 35.0 (Eclipse Juno/Selenium WebDriver).
It located elements randomly  – I mean once it recognized element by id and in the next run it didn’t!
It was making me really irritated – You wrote tests and you KNOW how it should look like. Then TestNG run tests and says: Total tests run2: Failures: 2. Really annoying.
BUT my boyfriend (also QA, but in other company) said I should try stable version. It’s 24 and 30.
Now I’ve got 30.0 version (in other directory that my normal firefox 35.0 is) and it… works :)
If you want to use other version of firefox than you normal use, then install other version from moziila releases and choose DIFFERENT DIRECTORY for install. Then use this code below:

System.setProperty("webdriver.firefox.bin", "Path_To_Your_Different_Version\\firefox.exe");
 this.driver = new FirefoxDriver();

Works for me :)

Remote Preview

So excited!
I was searching about something like Ghostlab, but for Windows… and I’ve found! something interesting, funny and free tool :) It’s very simple, but for me is enough.

Anyway, about this tool:

Remote Preview loads your  url on other (mobile or not) devices :) Simply, but you don’t have to waste your time and type the same url on 10 or more devises… It’s really boring and time-consuming function.

It works on platforms like Android, Blackberry, iOS, Maemo, Meego, Symbian, Windows Phone and WebOS. Like it!

When I was watching it it was like ‘wow! so cute!’. My PM says the same thing ^^. Hope you like it!

Selenium vs Facebook API

Hi everyone!

My first note in english – but there is a reason! (sorry for all mistakes in text)
I’m trying to make simple test in Selenium (by using WebDriver and Eclipse Juno).
I was searching throught the Internet for Selenium tutorial – and I’ve found something on the yt – CLICK

Nothing special – simple automation test – BUT.
There is something about Facebook API. It’s changing. Since 2011 there were a lot of changes – more or less usefull.

It causes me problems when I was trying to make that simple test. And the funniest (and annoying also) thing was… scrolling page!
Facebook has something, that is nice and esthetic, but hard to simulate (in my opinion, but I’m just a begginner in testing). When we scroll down the page, the page is getting bigger/longer, and the scroller smaller. Over and over, until we get to the bottom of page. Very frustrating.

Like the Guy said, i used:

driver.executeScript("scrollBy(0,1000)", "");

I do everything like he said in this tutorial. Then I was searching for different ways to resolve the problem of scrolling. And what? Nothing =o=.

And then I’ve found something interesing – Thread.sleep and time (!) to scroll down in ‘Friends’ page on facebook.

Tadaaa! It takes some time to make all script, but it works!

for (int second = 0;; second++) {
            if (second >= 30) {
                break;
            }
            eventD.executeScript("window.scrollBy(0,1000)", "");
            Thread.sleep(2000);
        }

I don’t know where I have found that solution, but thank you, whoever you are!