Openbravo Issue Tracking System - Openbravo ERP
View Issue Details
0016786Openbravo ERPA. Platformpublic2011-04-12 18:112012-10-10 13:01
elopio 
dbaz 
normalmajorN/A
closedfixed 
5
pi 
3.0MP15 
guilleaer
Core
No
0016786: Set a name to the iframe that contains the classic window
When a classic view is opened, it is loaded on the frame with name "appFrame".

This is a child of a iframe that has no name:

<iframe height="100%" frameborder="0" width="100%" scrolling="auto" src="/qa-pi-inc-oracle/security/Menu.html?url=/ad_forms/ModuleManagement.html&noprefs=true&hideMenu=true&Command=DEFAULT" style="height: 242px;">

This makes it difficult for the automated tests to select the classic frame, because there is no reliable way to select the parent iframe.
Open a classic window, for example Module Management.
Inspect the HTML with firebug, searching for the appFrame and its parent iframe.
Set a name to the iframe.
OB3-Reviewed
Issue History
2011-04-12 18:11elopioNew Issue
2011-04-12 18:11elopioAssigned To => alostale
2011-04-12 18:11elopioModules => Core
2011-04-12 18:11elopioNote Added: 0035869
2011-04-13 08:58elopioNote Added: 0035883
2011-04-14 11:53alostaleTarget Version => 3.0RC7
2011-04-14 11:53alostaleDescription Updatedbug_revision_view_page.php?rev_id=1848#r1848
2011-04-14 11:53alostaleStatusnew => scheduled
2011-04-14 11:53alostaleAssigned Toalostale => dbaz
2011-04-14 11:53alostalefix_in_branch => pi
2011-04-15 09:35elopioNote Added: 0035965
2011-04-15 10:27iperdomoNote Added: 0035967
2011-04-15 13:29dbazNote Added: 0035979
2011-04-19 02:34elopioNote Added: 0036012
2011-05-05 18:25dmitry_mezentsevNote Added: 0036430
2011-05-05 18:25dmitry_mezentsevTarget Version3.0RC7 => 3.0MP0
2011-05-05 18:25dmitry_mezentsevfix_in_branchpi =>
2011-05-17 09:15iperdomoPriorityurgent => normal
2011-05-23 16:41plujanTarget Version3.0MP0 => 3.0MP1
2011-06-22 19:57dmitry_mezentsevTarget Version3.0MP1 => 3.0MP2
2011-07-20 12:32dbazTarget Version3.0MP2 => 3.0MP3
2011-08-31 13:51dbazTarget Version3.0MP3 =>
2011-10-28 20:13iciordiaTag Attached: OB3-Reviewed
2012-05-23 23:37shuehnerIssue Monitored: shuehner
2012-08-13 15:01dbazClosed by => AugustoMauch
2012-08-13 15:02hgbotCheckin
2012-08-13 15:02hgbotNote Added: 0051263
2012-08-13 15:02hgbotStatusscheduled => resolved
2012-08-13 15:02hgbotResolutionopen => fixed
2012-08-13 15:02hgbotFixed in SCM revision => http://code.openbravo.com/erp/devel/pi/rev/d28bc1767d0a2e67b5092e681d13a2e9be70cca8 [^]
2012-08-30 12:35guilleaerClosed byAugustoMauch => guilleaer
2012-08-30 12:35guilleaerNote Added: 0051675
2012-08-30 12:35guilleaerStatusresolved => closed
2012-08-30 12:35guilleaerFixed in Version => 3.0MP15
2012-10-10 13:01hgbotCheckin
2012-10-10 13:01hgbotNote Added: 0053201

Notes
(0035869)
elopio   
2011-04-12 18:11   
Priority set to urgent because it is making the smoke test fail often.
(0035883)
elopio   
2011-04-13 08:58   
On Module Management, the contents of the popups Module Details, Install Module and Rebuild the System are inside a frame called "BUTTON". It is also inside an iframe without name. Please set the name to these iframes too.
(0035965)
elopio   
2011-04-15 09:35   
The OBClassicPopUps are also inside a frame called "process", whose parent again is an iframe without name. This happens, for example, on the Fiscal Calendar Year Create Periods popup.
(0035967)
iperdomo   
2011-04-15 10:27   
@elopio:
> "because there is no reliable way to select the parent iframe."
This is not true. ClassicOBWindow has the API to access the iframe.
https://code.openbravo.com/erp/devel/pi/file/5f47e83fbcb3/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-classic-window.js#l135 [^]

Why do you need to access the 'parent' iframe?
(0035979)
dbaz   
2011-04-15 13:29   
Two problems here:
* The iframe you refeer is the one generated by Smartclient HTMLFlow
* A modal popup can open another modal popup... and here if they share the name maybe you have a problem if they share the name...

What is always right now is:
<frame id="MDIPopupContainer" name="xx">
where name is different depending how is the classic window build... could you access to id="MDIPopupContainer" which is always the same?

In case you can't, there is also a
<frame id="paramFrameMenuLoading" scrolling="no" src="/pi-statusbar/utility/VerticalMenu.html?Command=HIDE" name="frameMenu">
which is fixed always (id and name)... could you access to it and go up?
(0036012)
elopio   
2011-04-19 02:34   
@iperdomo, I didn't know about that function. I'll try it and see if it's possible with selenium to select the iframe that way.

I need to access the iframe because with Selenium2 we have to select the frames before accessing the elements. So currently, I'm stepping through all the iframes in the page to see which one contains the frame I'm looking for, because I can only access them with the index and it changes.

@dbaz, I can access those frames without issues. The problem is with the iframes. I first have to select the iframe and then the frame.

Thanks for your answers. I will report back.
(0036430)
dmitry_mezentsev   
2011-05-05 18:25   
Does not fit RC7.
(0051263)
hgbot   
2012-08-13 15:02   
Repository: erp/devel/pi
Changeset: d28bc1767d0a2e67b5092e681d13a2e9be70cca8
Author: David Baz Fayos <david.baz <at> openbravo.com>
Date: Mon Aug 13 15:02:23 2012 +0200
URL: http://code.openbravo.com/erp/devel/pi/rev/d28bc1767d0a2e67b5092e681d13a2e9be70cca8 [^]

Fixed issue 16786: Added 'name' to the iframe containing OBClassicPopup

---
M modules/org.openbravo.client.application/web/org.openbravo.client.application/js/classic/ob-classic-compatibility.js
---
(0051675)
guilleaer   
2012-08-30 12:35   
verified in pi@1549d7119a63
(0053201)
hgbot   
2012-10-10 13:01   
Repository: tools/automation/int
Changeset: 1457b4ee1c00cdc881d6c49364e4478103f2f4a6
Author: Pablo Lujan <pablo.lujan <at> openbravo.com>
Date: Mon Oct 08 19:05:28 2012 +0200
URL: http://code.openbravo.com/tools/automation/int/rev/1457b4ee1c00cdc881d6c49364e4478103f2f4a6 [^]

Puts back the workaround for issue 16786

---
M src-test/com/openbravo/test/integration/erp/modules/client/application/gui/OBClassicPopUp.java
---