caleeli / selite

Automatically exported from code.google.com/p/selite
1 stars 0 forks source link

Exit Confirmation Checker command appearing in Selenium IDE #9

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
Hi there.

I'm looking forward to using this plugin.

I have loaded the latest version - 0.07 and also all the latest versions of all 
the seLITE dependent components.

Extension Sequencer .39
Testcase Debug Context .73
Miscellaneous .8
Settings .48
Connection Manager .74
Commands .85
DB Objects .79

I've installed these and the browser has been restarted. All plugins show in 
Selenium IDE's OPTIONS --> OPTIONS --> PLUGIN list and none are red or indicate 
a problem.

To reproduce:
1. Open Firefox.
2. Open Selenium IDE.
3. Click into the table pane to edit a new command.
4. Type 'Exit' into the Command window.

Expected Result: "ExitConfirmationChecker" will be listed as a command.
Actual Result: No such command shows.

Am I misunderstanding how to use this?

Original issue reported on code.google.com by jayjoshi...@gmail.com on 5 Oct 2014 at 5:25

Attachments:

GoogleCodeExporter commented 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

GoogleCodeExporter commented 9 years ago
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

GoogleCodeExporter commented 9 years ago
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

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
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

GoogleCodeExporter commented 9 years ago
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

GoogleCodeExporter commented 9 years ago
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

GoogleCodeExporter commented 9 years ago
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:

GoogleCodeExporter commented 9 years ago
I upgraded to Selenium 2.8 as well.

Original comment by jayjoshi...@gmail.com on 9 Oct 2014 at 9:01

GoogleCodeExporter commented 9 years ago
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

GoogleCodeExporter commented 9 years ago
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

GoogleCodeExporter commented 9 years ago
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

GoogleCodeExporter commented 9 years ago
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

GoogleCodeExporter commented 9 years ago
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

GoogleCodeExporter commented 9 years ago
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

GoogleCodeExporter commented 9 years ago
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

GoogleCodeExporter commented 9 years ago
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:

GoogleCodeExporter commented 9 years ago
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

GoogleCodeExporter commented 9 years ago
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

GoogleCodeExporter commented 9 years ago
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

GoogleCodeExporter commented 9 years ago
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:

GoogleCodeExporter commented 9 years ago
Part 2

Original comment by jayjoshi...@gmail.com on 19 Oct 2014 at 2:30

Attachments:

GoogleCodeExporter commented 9 years ago
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

GoogleCodeExporter commented 9 years ago
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:

GoogleCodeExporter commented 9 years ago
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