Referrer Badges Work Correctly Across Platforms

AboutUs


ToDo

A full description of what's needed (Selenium and/or BrowserCam and/or anything else) to make a test for "Test that the referrer badges work correctly across platforms"

Question

I know JackandFriends is using a badge. Who else? I'd like to have at least 2 to test. Thanks! Ted 22:10, 22 December 2006 (PST)

See Bug:Badges_Not_Working

Explorations

  • Remote Access using VNC: http://www.browsercam.com/dva_wait.aspx
  • You can use their java client, but it was pretty slow and clunky and left mouse-pointer trails all over the screen so I've downloaded a client: http://www.redstonesoftware.com/downloads/index.html $30 license fee - I have free trial until the 29th
  • Chicken of the VNC
  • VNC scripting tool: http://www.vncrobot.com/
    • This is very cool. Scripting is easy. Written in java. Can run on any system and test any system.
    • The demo tests a system app, not a website in a browser.
    • It works by scrrenshots, not by understanding anything underlying.
    • Seems like it would be hard to get browsercam to click on the referrer badge because we can't guarantee exactly where it will appear on the screen.
  • Huge resource list: http://www.aptest.com/resources.html
  • Great play-by-play of one project's testing journey: http://agile.idyll.org/wiki/BuildBotTechnologyNarrative
    • Includes this: One big advantage that Selenium has over twill is that you can test a full JavaScript-y or AJAX-y Web interface with it, because it fully groks JavaScript; another great advantage to Selenium tests is that they run in multiple browsers, so you can test IE, Mozilla, Konqueror, and Safari compliance with one set of tests. Of course, a big disadvantage is that it requires a full browser to run, and those can be nasty to automate.
      We did manage to automate the Selenium tests on our Linux buildslaves, and even though it involved big nasty packages (VNC to set up the X display, and an automatically-started Firefox browser) it was relatively easy.
      ...
      While invaluable, Selenium did turn out to be more annoying than we thought it would. First of all, writing the tests was not particularly fun; they're in a kind of hacky HTML format which grows old quite quickly. Secondly, the tests were (and are) a bit brittle in the face of slow computers. (Asynchronus AJAX stuff sounds great right up until your tests fail because the call didn't return in time. We've fixed that since in changeset:313 by switching to using waitForCondition.)
      Our experience with Selenium suggests that twill is a better way to test your basic Web app; leave Selenium for the stuff that can't be done any other way, e.g. your AJAX user interface code.
  • http://seapine.com has some very slick webinars and web demos all about the testing process

steps to this test

  1. For each operating system:
    1. For each browser:
      1. Open http://jackandfriends.com
      2. Find the AboutUs badge in the bottom left-hand corner
      3. Click the badge
      4. Verify that you are taken in a new tab or window to http://www.aboutus.org/JackAndFriends.com

Steps 1 and 1.1 can be manually performed using BrowserCam's remote access. I haven't yet fount a scripting system that will automate this. 1.1.1 - 1.1.4 are easy to script when we have access to the machine (using selenium). I wonder if we can write the script with selenium and then somehow run it on the browsercam machine inside vnc.

Steps I performed today 13:34, 15 January 2007 (PST)

  1. http://browsercam.com
  2. click remote access http://www.browsercam.com/dva_wait.aspx
  3. chose platform (windows) in a dropdown
    1. javascript updates other dropdowns
  4. choose operating system (win98) in a dropdown
    1. javascript updates other dropdowns
  5. choose a primary browser (ie 5.0) in a dropdown
    1. javascript updates other information
  6. click continue
  7. copy host:port from the browsercam window
  8. start chicken of the vnc
  9. paste in host:port
  10. click connect
    1. vnc window opens asking for a win98 login
  11. choose guest1
  12. type password guest1
  13. open ie from desktop inside vnc
  14. type http://jackandfriends.com in the address bar
    1. wait for the page to load
  15. scroll down to the badge
  16. click the badge
    1. a new ie window opens up inside vnc for http://aboutus.org/JackAndFriends.com

Possible solution

BC-Virtual, from BrowserCam

New assumption

As discussed with Brandon, my new working assumpion is that we have a VNC connection, actually many, one for each platform/browser combination we want to test. Now the question is, how to create and run our script.

  • vncrobot is look much more do-able - let's take a closer look again
  • interesting ... it's freeware, but not open source ... http://www.vncrobot.com/downloads/index.html
  • says cannot connect on port 13910 when I put in 8010 - strange feature, I have to subtract 5900 and use 2110 instead
  • VNCrobot now works just like any VNC viewer except it has a script menu, where you can record scripts
  • VNC is painfully slow, but the recorder does work, can click in certain locations, take screenshots and then verify that they look like a template image (no DOM access)


Retrieved from "http://aboutus.com/index.php?title=Referrer_Badges_Work_Correctly_Across_Platforms&oldid=12080898"