You are here: Foswiki>Tasks Web>Item1326 (11 Jun 2020, MichaelDaum)Edit Attach

Item1326: Create a list of Selenium tests for web surface testing

pencil
Priority: Normal
Current State: Needs Developer
Released In: n/a
Target Release: n/a
Applies To: Extension
Component: UnitTestContrib
Branches: Release01x01 trunk
Reported By: MartinSeibert
Waiting For:
Last Change By: MichaelDaum
See english video tutorial here: http://tr.im/hxIC for more info, how selenium works.

Benefits

  • Automatic testing before each release
  • Better quality of our products
  • Automatic reproducability
  • Possibility to test even long processes consistently
  • Test-automation

If you have a test, just attach it here.


As far as I've watched the demo, it only records the user interactions on the site. But how does it validate the results? Does it allow to classify and report different test outcomes?

-- MichaelDaum - 19 Mar 2009

We definitely need browser-in-the-loop tests, especially for Javascript-heavy stuff. In my case, I would like browser-in-the-loop tests for the Wysiwyg editor.

Selenium RC has a perl interface, so it should be practical to incorporate fully-automatic Selenium-based tests into the Foswiki unit-test system. It is certainly possible, as I have a crude implementation working now. I am checking it in so that we have something to work from.

I changed the task so that it now AppliesTo the UnitTestContrib, and removed "IDE" from the Summary because we want the full automation and integration into our existing test infrastructure provided by Selenium RC.

-- MichaelTempest - 07 Mar 2010

  • I wrapped this in a twisty because it is not particularly relevant for the work that remains -- MichaelTempest - 03 Jul 2010

There is something bizarre going on with perl's Encode module. The SeleniumConfigTests run fine on their own and also in conjunction with some other tests. But (for example) running the AccessControlTests and SeleniumConfigTests together makes Encode produce an error (unknown encoding 'utf8') during cleanup, when WWW::Selenium::DESTROY calls Encode::decode_utf8.

The SeleniumConfigTests run fine when executed in the same test run after each of these: AttrsTests, AutoAttachTests, ClientTests, ConfigureTests, ExampleTests, ExceptionTests, ExpandMacrosTests, Fn_FOREACH, Fn_FORMFIELD, Fn_ICON, Fn_QUERYPARAMS, Fn_WEBLIST, FormattingTests, FoswikiPmFunctionsTests, HierarchicalWebsTests, InitFormTests, ManageDotPmTests, MetaTests, NetTests, PasswordTests, PluginHandlerTests, PrefsTests, RenderFormTests, RequestCacheTests, ResponseTests, SaveScriptTests

The SeleniumConfigTests run fine when executed in the same test run before each of these: StoreSmokeTests, StoreTests, TOCTests, TemplatesTests, TimeTests, UIFnCompileTests, UTF8Tests, UploadScriptTests, VariableTests, ViewFileScriptTests, ViewParamSectionTests, ViewScriptTests

Anomalies:
  • unknown encoding 'utf8' error - AccessControlTests, Fn_ENCODE, Fn_GROUPINFO, Fn_IF, Fn_INCLUDE, Fn_QUERY, Fn_REVINFO, Fn_SEARCH, Fn_SECTION, Fn_URLPARAM, Fn_USERINFO, FormDefTests, FuncTests, FuncUsersTests, MergeTests, RcsTests, RegisterTests, RenameTests, RobustnessTests
  • Fail when run on their own - ExtenderTests
  • Fail - SemiAutomaticTestsCaseTests
  • Compile error - QueryTests
  • printed out additional OopsException messages when run on their own (but the tests pass) - ManageDotPmTests
  • browser window did not close after tests completed - Fn_GROUPS, Fn_NOP, Fn_SCRIPTURL, Fn_SEP, Fn_TOPICLIST, RESTTests (most are very short tests)
  • Corrupts $Foswiki::cfg{DefaultUrlHost} - RequestTests

-- MichaelTempest - 07 Mar 2010

Progress! The unknown encoding 'utf8' error is now fixed and the browser windows close reasonably reliably. I am now starting on real browser-in-the-loop tests.

-- MichaelTempest - 19 Apr 2010

I created TestingWithSelenium to document the infrastructure.

-- MichaelTempest - 28 Apr 2010

The infrastructure seems to work okay. What is needed now is more tests, and that needs consideration of test strategy. Changing status back to "confirmed".

-- MichaelTempest - 29 Jun 2010

ItemTemplate edit

Summary Create a list of Selenium tests for web surface testing
ReportedBy MartinSeibert
Codebase
SVN Range Foswiki-1.0.0, Thu, 08 Jan 2009, build 1878
AppliesTo Extension
Component UnitTestContrib
Priority Normal
CurrentState Needs Developer
WaitingFor
Checkins distro:7d01c8eda10d distro:67be3f826356 distro:f342f2db5b9a distro:6a58866983a1 distro:15f2932d81e1 distro:f50b031838ea distro:1cf65f536857 distro:a06be4a4203a distro:ff7de3c14630 distro:e7892fdbb17d distro:49c61ced66f7 distro:f34293b4afb0 distro:097583b4eee0 distro:f6bc97a540f6 distro:f35cde47f28e distro:14f3db3f6b5b distro:81cf9b32b735 distro:956df6bf1fb4 distro:8377bc0b1fbc distro:aea75dcca022 distro:5180b0902432 distro:dc8286a26fc8 distro:62b6f4821825 distro:641d21300179 distro:659c3ee93fe9 distro:6c48a70fe7a3 distro:9262aec5555d distro:773214766e2b distro:223d8fb18ac5 distro:cac9fd7aca83 distro:b213b8861abd distro:a9e41024004f distro:dab58e998629 distro:295530a98c4b
TargetRelease n/a
ReleasedIn n/a
CheckinsOnBranches Release01x01 trunk
trunkCheckins distro:7d01c8eda10d distro:67be3f826356 distro:f342f2db5b9a distro:6a58866983a1 distro:15f2932d81e1 distro:f50b031838ea distro:1cf65f536857 distro:a06be4a4203a distro:ff7de3c14630 distro:e7892fdbb17d distro:49c61ced66f7 distro:f34293b4afb0 distro:097583b4eee0 distro:f6bc97a540f6 distro:f35cde47f28e distro:14f3db3f6b5b distro:81cf9b32b735 distro:956df6bf1fb4 distro:8377bc0b1fbc distro:aea75dcca022 distro:5180b0902432 distro:dc8286a26fc8 distro:62b6f4821825 distro:641d21300179 distro:659c3ee93fe9 distro:6c48a70fe7a3 distro:9262aec5555d distro:773214766e2b distro:223d8fb18ac5 distro:cac9fd7aca83 distro:b213b8861abd
masterCheckins
ItemBranchCheckins
Release02x01Checkins
Release02x00Checkins
Release01x01Checkins distro:a9e41024004f distro:dab58e998629 distro:295530a98c4b
Topic revision: r43 - 11 Jun 2020, MichaelDaum
The copyright of the content on this website is held by the contributing authors, except where stated elsewhere. See Copyright Statement. Creative Commons License    Legal Imprint    Privacy Policy