Open GoogleCodeExporter opened 9 years ago
Exit Confirmation Checker doesn't add any Selenese commands, it overrides
parts of Selenium IDE. For now it only works with 'type' command. I've updated
https://code.google.com/p/selite/wiki/ExitConfirmationChecker a tiny bit -
mostly Overview and I've added Tests.
Get Selenium IDE 2.7.0 (not 2.8.0). Follow the docs on how to run the tests.
You'll need SelBlocksGlobal from https://code.google.com/p/selite/wiki/AddOns
(and maybe some dependencies, unless you install all add-ons); alternatively,
when you open the test suite, select positive_case and remove if...endIf part
(I think that's the only part that needs SelBlocksGlobal).
Original comment by peter.kehl
on 6 Oct 2014 at 8:53
Thank you Peter. Can you use this to actually click the exit confirmation
leave button?
Highest Regards,
Jay Joshi (via SmartPhone)
Original comment by jayjoshi...@gmail.com
on 6 Oct 2014 at 3:34
Hello Jay,
That's half of the job of Exit Confirmation Checker. But, instead of clicking
at the button, it suppresses the confirmation dialog. If that's all you need,
use mode 'ignored'. I've added a test suite to demonstrate it.
The other two modes includeRevertedChanges and skipRevertedChanges also
suppress the confirmation dialog, but they also verify (or assert) whether it
shows (or it doesn't show) as it should.
Original comment by peter.kehl
on 6 Oct 2014 at 7:36
[deleted comment]
There's a new version of ExitConfirmationChecker at
https://addons.mozilla.org/en-US/firefox/addon/selite-exit-confirmation-check/ve
rsions for Selenium IDE 2.8.0 (which probably won't work with Selenium IDE
2.7.0). It needs the newest version of
https://addons.mozilla.org/en-US/firefox/addon/SeLite-TestCase-Debug-Conte/versi
ons/
Original comment by peter.kehl
on 8 Oct 2014 at 3:18
I've updated to version 0.10 of confirmation checker and all other plugins
haven't changed. FF is 32.0.3.
I am running your test for 'ignored' and still get the popup. I'm running the
Suite and not the individual Test. The file 'SeLiteSettingsValues.txt' is in
the same folder as the suite and when i look in the IDE UI "SeLite Settings for
this test suite", the IGNORE option is selected.
When I run the suite, I see the alert after the typing of 'modified' and after
choosing the 'Relax' select option.
I can send screen shots if needed.
Original comment by iv2...@gmail.com
on 9 Oct 2014 at 1:44
I confirm Confirmation Checker is at v. 0.10. Please, could you confirm or
update versions of the following. I've pushed some changes in the last 24 hours
for:
-
https://addons.mozilla.org/en-US/firefox/addon/SeLite-SelBlocks-Global/versions/
1.12
-
https://addons.mozilla.org/en-US/firefox/addon/SeLite-TestCase-Debug-Conte/versi
ons/ 0.74
Original comment by peter.kehl
on 9 Oct 2014 at 8:35
Hi. I verified the versions for all three add-ons. I've attached a screen shot
of settings too in case there's something else that needs to happen.
Original comment by jayjoshi...@gmail.com
on 9 Oct 2014 at 8:58
Attachments:
I upgraded to Selenium 2.8 as well.
Original comment by jayjoshi...@gmail.com
on 9 Oct 2014 at 9:01
I can't replicate the problem (in Firefox 32.0.3 on Windows 7 x64 or 32.0.2 on
CentOS x64, both with Selenium IDE 2.8.0 and SeLite addons installed from web).
Could you confirm that you have Selenium IDE 2.8.0 (you probably do) and not
2.7.0. Otherwise update to 2.8.0.
If you have 2.8.0, then I'm not sure. Get the logs as per
https://code.google.com/p/selite/wiki/Troubleshooting. I admit SeLite logging
is a bit inconsistent. So, open Browser Console, set level to Logging, Clear
it. Then run the test suite. See if it lists entries like:
"BrowserBot() called as overriden by SeLite Exit Confirmation Checker."
core.js:36
"SeLite ExitConfirmationChecker: seLiteAfterCurrentCommand" core.js:114
"SeLite Exit Confirmation Checker's override of BrowserBot.recordPageLoad()
called." core.js:44
Use of Mutation Events is deprecated. Use MutationObserver instead.
recorder.js:132
"SeLiteExitConfirmationChecker.overrideOnBeforeUnload()" core.js:56
"SeLite ExitConfirmationChecker: window.onbeforeunload() start" core.js:74
"SeLite ExitConfirmationChecker: window.onbeforeunload ignored" core.js:82
"SeLite ExitConfirmationChecker: seLiteAfterCurrentCommand"
Otherwise, re-check Selenium IDE menu Options > Options > tab Plugins, and
re-check other suggestions at
https://code.google.com/p/selite/wiki/Troubleshooting.
You can also attach Selenium IDE test log (set level to Debug) and copy and
paste it here (or use AddOnsThirdParty > File Logging), though that may not
help much for now.
Original comment by peter.kehl
on 9 Oct 2014 at 11:12
Here is the Browser Console output:
"BrowserBot() called as overriden by SeLite Exit Confirmation Checker."
core.js:36
Use of Mutation Events is deprecated. Use MutationObserver instead.
recorder.js:132
"SeLite Exit Confirmation Checker's override of BrowserBot.recordPageLoad()
called." core.js:44
Use of Mutation Events is deprecated. Use MutationObserver instead.
recorder.js:132
"SeLite Exit Confirmation Checker's override of BrowserBot.recordPageLoad()
called." core.js:44
"SeLite ExitConfirmationChecker didn't override current
window.onbeforeunload(), therefore
SeLiteExitConfirmationChecker.inputBeforeChange() can't validate behaviour of
window.onbeforeunload()." core.js:193
"SeLite ExitConfirmationChecker didn't override current
window.onbeforeunload(), therefore
SeLiteExitConfirmationChecker.inputBeforeChange() can't validate behaviour of
window.onbeforeunload()." core.js:211
Use of getAttributeNode() is deprecated. Use getAttribute() instead.
atoms.js:5445
Use of Mutation Events is deprecated. Use MutationObserver instead.
recorder.js:132
"SeLite Exit Confirmation Checker's override of BrowserBot.recordPageLoad()
called." core.js:44
Use of Mutation Events is deprecated. Use MutationObserver instead.
recorder.js:132
"SeLite Exit Confirmation Checker's override of BrowserBot.recordPageLoad()
called." core.js:44
"SeLite ExitConfirmationChecker didn't override current
window.onbeforeunload(), therefore
SeLiteExitConfirmationChecker.inputBeforeChange() can't validate behaviour of
window.onbeforeunload()." core.js:193
"SeLite ExitConfirmationChecker didn't override current
window.onbeforeunload(), therefore
SeLiteExitConfirmationChecker.inputBeforeChange() can't validate behaviour of
window.onbeforeunload()." core.js:211
Use of Mutation Events is deprecated. Use MutationObserver instead.
recorder.js:132
Original comment by jayjoshi...@gmail.com
on 10 Oct 2014 at 9:22
Your log is missing some entries compared to mine:
"BrowserBot() called as overriden by SeLite Exit Confirmation Checker."
core.js:36
"SeLite ExitConfirmationChecker: seLiteAfterCurrentCommand" core.js:114
Use of Mutation Events is deprecated. Use MutationObserver instead.
recorder.js:132
"SeLite Exit Confirmation Checker's override of BrowserBot.recordPageLoad()
called." core.js:44
"SeLiteExitConfirmationChecker.overrideOnBeforeUnload()" core.js:56
"SeLite ExitConfirmationChecker: window.onbeforeunload() start" core.js:74
"SeLite ExitConfirmationChecker: window.onbeforeunload ignored" core.js:82
"SeLite ExitConfirmationChecker: seLiteAfterCurrentCommand" core.js:114
Use of Mutation Events is deprecated. Use MutationObserver instead.
recorder.js:132
"SeLite Exit Confirmation Checker's override of BrowserBot.recordPageLoad()
called." core.js:44
"SeLiteExitConfirmationChecker.overrideOnBeforeUnload()" core.js:56
Use of getAttributeNode() is deprecated. Use getAttribute() instead.
atoms.js:5445
"SeLite ExitConfirmationChecker: seLiteAfterCurrentCommand" core.js:114
"SeLite ExitConfirmationChecker: window.onbeforeunload() start" core.js:74
"SeLite ExitConfirmationChecker: window.onbeforeunload ignored" core.js:82
"SeLite ExitConfirmationChecker: seLiteAfterCurrentCommand" core.js:114
Use of Mutation Events is deprecated. Use MutationObserver instead.
recorder.js:132
"SeLite Exit Confirmation Checker's override of BrowserBot.recordPageLoad()
called." core.js:44
"SeLiteExitConfirmationChecker.overrideOnBeforeUnload()" core.js:56
"SeLite ExitConfirmationChecker: window.onbeforeunload() start" core.js:74
"SeLite ExitConfirmationChecker: window.onbeforeunload ignored" core.js:82
"SeLite ExitConfirmationChecker: seLiteAfterCurrentCommand" core.js:114
Use of Mutation Events is deprecated. Use MutationObserver instead.
recorder.js:132
"SeLite Exit Confirmation Checker's override of BrowserBot.recordPageLoad()
called." core.js:44
"SeLiteExitConfirmationChecker.overrideOnBeforeUnload()" core.js:56
"SeLite ExitConfirmationChecker: seLiteAfterCurrentCommand" core.js:114
"SeLite ExitConfirmationChecker: window.onbeforeunload() start" core.js:74
"SeLite ExitConfirmationChecker: window.onbeforeunload ignored" core.js:82
"SeLite ExitConfirmationChecker: seLiteAfterCurrentCommand" core.js:114
But I can't say from that what goes wrong. To narrow down the issue, I suggest
that you create a new Firefox profile as per
https://developer.mozilla.org/en-US/Add-ons/Setting_up_extension_development_env
ironment#Development_profile. If the problem is still there, zip up the profile
folder and email it to me. Beware that it contains the browsing history, stored
passwords, bookmarks etc. from that profile, hence create a new one. On Windows
7 the profiles are folders under %APPDATA%\Mozilla\Firefox\Profiles (get that
parent folder by running 'cd %APPDATA%\Mozilla\Firefox\Profiles' in 'cmd'). I
haven't got Windows 8.
Original comment by peter.kehl
on 10 Oct 2014 at 11:15
FYI: I've released updates of Extension Sequencer and Run All Favorites.
However, that shouldn't affect nor solve your problem.
Original comment by peter.kehl
on 11 Oct 2014 at 12:52
Jay, there may be rare errors, which don't show up in Browser Console if you
open it after you've started Firefox. You can see them if you start Firefox
from shell/commandline. On Windows you need to run <i>firefox.exe
-jsconsole</i>.
Original comment by peter.kehl
on 14 Oct 2014 at 9:38
Jay, if you still have a problem, you could remove private data from your
profile as per
https://support.mozilla.org/en-US/kb/recovering-important-data-from-an-old-profi
le#w_your-important-data-and-their-files, zip it up and send it to me.
Original comment by peter.kehl
on 18 Oct 2014 at 1:51
Hi Peter. Ok - I was routed to other tasks temporarily but will validate.
Thanks so much for following up with me.
Jay
Original comment by jayjoshi...@gmail.com
on 18 Oct 2014 at 8:04
Hi Peter. I created a completely new profile, ran your test script and got the
same result. The popup still shows. Here's an attached zip of the profile and
the log file set at debug level.
I'm glad to coordinate a Webex if you'd like. Just let me know.
Highest Regards,
Jay
Original comment by jayjoshi...@gmail.com
on 18 Oct 2014 at 8:53
Attachments:
Hi Jay,
You've attached the same log file twice, but no zipped profile. Could you
upload or email me the profile, too.
Original comment by peter.kehl
on 18 Oct 2014 at 10:58
Tried to email to selite9@googlecode.com. Can you confirm it arrived? 14mb file.
Original comment by jayjoshi...@gmail.com
on 19 Oct 2014 at 7:45
No, nothing arrived. Try to attach it to this issue via the web (as you've
attached the log). If that doesn't work, send it to my own email. I think GMail
has 10MB limit, but you can exclude 'places.sqlite', which takes about 10MB
(unzipped). Or split it into two or three .zip files.
Original comment by peter.kehl
on 19 Oct 2014 at 11:29
Part 1 - winrar only allows me to split if i make it a rar and not a zip.
Original comment by jayjoshi...@gmail.com
on 19 Oct 2014 at 2:30
Attachments:
Part 2
Original comment by jayjoshi...@gmail.com
on 19 Oct 2014 at 2:30
Attachments:
I think what you've uploaded is not a Firefox profile. I've unpacked both files
with WinRAR 5.11 x64 - is that what you've used? The folder contains: cache2
directoryLinks.json jumpListCache safebrowsing startupCache thumbnails.
A Firefox profile should contain files/folders like: addons.json
experiments.json key3.db places.sqlite
sessionstore.bak-20140918134209
blocklist.xml extensions localstore.rdf
places.sqlite-shm sessionstore.js
bookmarkbackups extensions.ini logins.json
places.sqlite-wal signons.sqlite
cert8.db extensions.json marionette.log prefs.js
storage
cert_override.txt extensions.log metro
saved-telemetry-pings Telemetry.ShutdownTime.txt
compatibility.ini firebug mimeTypes.rdf search.json
times.json
content-prefs.sqlite formhistory.sqlite minidumps secmod.db
urlclassifierkey3.txt
cookies.sqlite healthreport netpredictions.sqlite
selenium-ide-scripts weave
crashes healthreport.sqlite notificationstore.json
sessionCheckpoints.json webapps
downloads.sqlite httpDataUsage.dat permissions.sqlite
sessionstore.bak webappsstore.sqlite
The exact location of your profile folder depends on your system and its
configuration. Follow
https://support.mozilla.org/en-US/kb/profiles-where-firefox-stores-user-data#w_h
ow-do-i-find-my-profile.
Original comment by peter.kehl
on 19 Oct 2014 at 10:53
I think I got it this time. FF created two folders in different locations with
that directory name. Please check this and let me know...
Original comment by jayjoshi...@gmail.com
on 19 Oct 2014 at 11:04
Attachments:
Summary: The problem was caused by using SeLite with FlowControl, GoTo and
Implicit Wait. Those are incompatible with SeLite.
Uninstall FlowControl, GoTo and Implicit Wait. See SelBlocksGlobal >
Documentation; it should cover features of FlowControl and GoTo. It doesn't
cover Implicit Wait.
Original comment by peter.kehl
on 21 Oct 2014 at 1:46
Original issue reported on code.google.com by
jayjoshi...@gmail.com
on 5 Oct 2014 at 5:25Attachments: