2018 up to now | 2017 | 2016 | 2015 | 2014 | 2013 | 2012

Mailing List - Entries from 2018 up to now

<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=iso-8859-1"><meta name=Generator content="Microsoft Word 14 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:"Arial Unicode MS";
        panose-1:2 11 6 4 2 2 2 2 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:"Microsoft Sans Serif";
        panose-1:2 11 6 4 2 2 2 2 2 4;}
@font-face
        {font-family:"\@Arial Unicode MS";
        panose-1:2 11 6 4 2 2 2 2 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p
        {mso-style-priority:99;
        mso-margin-top-alt:auto;
        margin-right:0cm;
        mso-margin-bottom-alt:auto;
        margin-left:0cm;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
span.tab
        {mso-style-name:tab;}
span.EmailStyle19
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-AU link=blue vlink=purple><div class=WordSection1><p><span style='font-size:10.0pt;font-family:"Microsoft Sans Serif","sans-serif";color:black'>[@@ OPEN @@]</span><o:p></o:p></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Hi Deborah,<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>There is no technical issues in the use of QFTest with obfuscated code. I’ve indeed already used it with an HMI using Luciad Map and obfuscated through Proguard.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>For the obfuscation, your best choice is to only record system classes (cf: <a href="http://www.qfs.de/qftest/manual/en/contents.html#toc_sec_opt_recordcomponents">http://www.qfs.de/qftest/manual/en/contents.html#toc_sec_opt_recordcomponents</a>, tick the top box).<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>QFTest will record the base class when recording the components (like javax.swing.Dialog) and not “<i>a.b.c”<o:p></o:p></i></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>The hierarchy of your components will still be maintained, but the class attribute will be quite generic.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>You won’t have to maintain a consistent obfuscation between your builds either.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>The drawback is that the recognition of your components may not be as good as without obfuscation. So you should try to name your components as much as you can.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Now it seems to be possible to implement a <i>ClassNameResolver</i> and use the mapping file. I’ve never done it so can’t give any feedback on this option. Looks attractive though.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>In regards to the interaction with the objects on Luciad, indeed QFTest will not be capable of recognizing ‘drawn’ objects (OpenGL objects I guess).<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>The only viable way is to implement an <i>ItemResolver</i>. It can be quite a challenging task depending on how much control you have over the code of your SUT. But it is definitely worth it. Once done QFTest will recognize your objects like any other components and you will be able to check for pretty much anything. All of this nicely integrated in QFTest HMI.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>The latest version of QFTest (3.5.0) introduces the support of image recognition (well, it was there well before that but for your purpose you will probably look at: <i>qfs.autoscreen.screen.getPositionOfImage</i>) but I don’t recommend this path. It is not robust and very hard to maintain.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Regarding your layers, not too sure I follow. My understanding is that objects are drawn on different layers and some objects overlap each other. This technically is not a concern for QFTest. It is more your concern (as a tester). How can you target a mouse click on a component that is below another one? If you cannot do it manually, QFTest will not be able to do it either. It will be able to check for anything though (provided you have developed an ItemResolver).<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Usually LuciadMap applications allow you to select which layer is active/visible, or manage the ordering of the layers. If it is your case the selection of the adequate layer should be part of your test procedure you want to automate.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>We can have an offline discussion about all this if you want more details. We should be able to find each other </span><span style='font-size:11.0pt;font-family:Wingdings;color:#1F497D'>J</span><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Cheers,<o:p></o:p></span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><b><span style='font-size:9.0pt;font-family:"Arial","sans-serif";color:blue'>Denis GAUTHIER</span></b><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p></o:p></span></p><p><span style='font-size:8.0pt;font-family:"Arial Unicode MS","sans-serif";color:black'>This message contains</span><b><span style='font-size:8.0pt;font-family:"Arial Unicode MS","sans-serif";color:red'> OPEN </span></b><span style='font-size:8.0pt;font-family:"Arial Unicode MS","sans-serif";color:black'>information that is not sensitive and can be freely accessed by people both inside and outside of the Thales Group</span><o:p></o:p></p><p><span style='font-size:7.0pt;font-family:"Arial Unicode MS","sans-serif";color:black'>This email was classified by</span><span style='font-size:10.0pt;font-family:"Microsoft Sans Serif","sans-serif";color:black'> </span><span style='font-size:8.0pt;font-family:"Microsoft Sans Serif","sans-serif";color:blue'>Gauthier, Denis </span><span style='font-size:7.0pt;font-family:"Arial Unicode MS","sans-serif";color:black'>on Thursday, 16 May 2013 2:11:13 PM</span><o:p></o:p></p><div><div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm'><p class=MsoNormal><b><span lang=EN-US style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span lang=EN-US style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> qftest-list-bounces@qfs.de [mailto:qftest-list-bounces@qfs.de] <b>On Behalf Of </b>Dborah Vidal<br><b>Sent:</b> Wednesday, 15 May 2013 6:11 PM<br><b>To:</b> qftest-list@qfs.de<br><b>Cc:</b> DOYEN Aurore; vincent.astruc@thalesgroup.com; Mr Michel Le Pape<br><b>Subject:</b> [QF-Test] Obfuscated classes, Luciad Map use (and JXLayer)<o:p></o:p></span></p></div></div><p class=MsoNormal><o:p> </o:p></p><div><div><div><p class=MsoNormal style='background:white'><span lang=EN-US style='color:black'> Good morning,</span><span style='color:black'><o:p></o:p></span></p></div><div><p class=MsoNormal style='background:white'><span lang=EN-US style='color:black'> </span><span style='color:black'><o:p></o:p></span></p></div><div><p class=MsoNormal style='background:white'><span lang=EN-US style='color:black'>I have globally two main questions that a member of QFTest adviced me to ask here, in this forum.</span><span style='color:black'><o:p></o:p></span></p></div><div><p class=MsoNormal style='background:white'><span lang=EN-US style='color:black'> </span><span style='color:black'><o:p></o:p></span></p></div><div><p class=MsoNormal><span style='color:black'><o:p> </o:p></span></p></div><div><p class=MsoNormal style='text-indent:36.0pt;background:white'><span lang=EN-US style='color:black'>First, has anyone ever used QFTest with an obfuscated code?</span><span style='color:black'><o:p></o:p></span></p></div><div><p class=MsoNormal style='text-indent:36.0pt'><span style='color:black'><o:p> </o:p></span></p></div><div><p class=MsoNormal style='background:white'><span class=tab><span style='color:black'>            </span></span><span lang=FR style='color:black'>In fact, a large part of our code is obfuscated and, evidently, we want it to stay like this. Nevertheless, we can know the hierarchy of the obfuscated elements (we just non-obfuscate the code in another window just to have the information, but we don't want to use a non-obfuscated code in our futur tests in QFTest).</span><span style='color:black'><o:p></o:p></span></p></div><div><p class=MsoNormal><span style='color:black'><o:p> </o:p></span></p></div><div><p class=MsoNormal style='background:white'><span lang=FR style='color:black'>So :      - is it possible to access the obfuscated code if we know the entire hierarchy of the component?</span><span style='color:black'><o:p></o:p></span></p></div><div><p class=MsoNormal><span style='color:black'><o:p> </o:p></span></p></div><div><p class=MsoNormal style='text-indent:-18.0pt;background:white'><span lang=FR style='color:black'>      </span><span class=tab><span style='color:black'>            </span></span><span lang=EN-US style='color:black'>- </span><span lang=EN-US style='font-family:"Calibri","sans-serif";color:black'>we thought about coding a  resolver  taking in entry the mapping file generated by proguard. This, in order to resolve the obfuscated classes. We would like to know if it is a possible solution with </span><span lang=EN-US style='color:black'>QFTest and how many time it would take to make it (we are obligated to give results very soon). </span><span style='color:black'><o:p></o:p></span></p></div><div><p class=MsoNormal style='text-indent:-18.0pt'><span style='color:black'><o:p> </o:p></span></p></div><div style='margin-left:36.0pt'><p class=MsoNormal style='background:white'><span lang=EN-US style='font-family:"Calibri","sans-serif";color:black'>- we also thought about ensuring that </span><span lang=EN-US style='color:black'>this </span><span lang=EN-US style='font-family:"Calibri","sans-serif";color:black'>obfuscation does not change from one version to another which  is </span><span lang=EN-US style='color:black'>normally </span><span lang=EN-US style='font-family:"Calibri","sans-serif";color:black'>possible with Proguard. But we are not sure that this would resolve the entire problem and won’t be too binding?</span><span style='color:black'><o:p></o:p></span></p></div><div style='margin-left:36.0pt'><p class=MsoNormal style='background:white'><span lang=EN-US style='color:black'> </span><span style='color:black'><o:p></o:p></span></p></div><div style='margin-left:36.0pt'><p class=MsoNormal style='background:white'><span lang=EN-US style='color:black'>- Finally, more generally, have you got advices for us or returns of experiences on obfuscation, please?</span><span style='color:black'><o:p></o:p></span></p></div><div><p class=MsoNormal style='background:white'><span lang=EN-US style='color:black'> </span><span style='color:black'><o:p></o:p></span></p></div><div><p class=MsoNormal style='background:white'><span lang=EN-US style='color:black'> </span><span style='color:black'><o:p></o:p></span></p></div><div><p class=MsoNormal><span style='color:black'><o:p> </o:p></span></p></div><div><p class=MsoNormal style='background:white'><span lang=EN-US style='color:black'> </span><span style='color:black'><o:p></o:p></span></p></div><div><p class=MsoNormal style='background:white'><span lang=EN-US style='color:black'>            Second, have you ever used Luciad maps or similar maps/systems with QFTest?</span><span style='color:black'><o:p></o:p></span></p></div><div><p class=MsoNormal><span style='color:black'><o:p> </o:p></span></p></div><div><p class=MsoNormal style='background:white'><span class=tab><span style='color:black'>            </span></span><span lang=EN-US style='color:black'>Indeed, on our Software, we use Luciad maps.</span><span style='color:black'><o:p></o:p></span></p></div><div><p class=MsoNormal style='text-indent:36.0pt;background:white'><span lang=EN-US style='color:black'>We saw in the forum that a Luciad employee posted a question (26 Oct 2002 16:03:24) on components snapshots and we wondered if it is the best way to identify components on these maps in order to be capable of getting its own component properties (color, position...).</span><span style='color:black'><o:p></o:p></span></p></div><div><p class=MsoNormal style='background:white'><span lang=EN-US style='color:black'>            In fact, we sent questions to a person of QFTest who adviced us to use an ItemResolver but he was not so sure and told us to ask the question because he does not know for the specific case of the Luciad maps which has particularities :</span><span style='color:black'><o:p></o:p></span></p></div><div><p class=MsoNormal style='text-indent:36.0pt;background:white'><span lang=EN-US style='color:black'>To be more precise, Luciad gives an environment where the components, which are on the background map, are not really distinguished. In fact, the whole interface (background map + the elements on it) are seen as a single drawing, not as known objects (like JButton, for example).   </span><span style='color:black'><o:p></o:p></span></p></div><div><p class=MsoNormal style='background:white'><span lang=EN-US style='color:black'>Knowing this, have you other recommendations that will permit us to use QFTest with this type of configuration? So, has anybody ever used an itemResolver or other methods with this type of configuration, have you any experience on this?</span><span style='color:black'><o:p></o:p></span></p></div><div><p class=MsoNormal style='text-indent:36.0pt;background:white'><span lang=EN-US style='color:black'>For it we have two components, one above the other. On the one which is below we would like to access a great number of objects that it contains but it is not possible due to the one which is above. So we do not know how to access this JXLayer which is above : is it possible with QFTest to copy all the objects on the JXLayer on the top or is there any other method to access them?</span><span style='color:black'><o:p></o:p></span></p></div><div><p class=MsoNormal style='background:white'><span lang=EN-US style='color:black'>We have been told by a member of QFTest that it may function with “JLayers” and we would like to know if there are special moduls in QFtest for the "JXLayer" or if anybody has ever used it?</span><span style='color:black'><o:p></o:p></span></p></div><div><p class=MsoNormal style='background:white'><span lang=EN-US style='color:black'> </span><span style='color:black'><o:p></o:p></span></p></div><div><p class=MsoNormal style='background:white'><span lang=EN-US style='color:black'> </span><span style='color:black'><o:p></o:p></span></p></div><div><p class=MsoNormal style='background:white'><span lang=EN-US style='color:black'>Thank you very much for your return,</span><span style='color:black'><o:p></o:p></span></p></div><div><p class=MsoNormal style='background:white'><span lang=EN-US style='color:black'> </span><span style='color:black'><o:p></o:p></span></p></div><div><p class=MsoNormal style='background:white'><span lang=EN-US style='color:black'>Best regards,</span><span style='color:black'><o:p></o:p></span></p></div><div><p class=MsoNormal style='background:white'><span lang=EN-US style='color:black'>Dborah.</span><span style='color:black'><o:p></o:p></span></p></div></div></div></div>
-------------------------------------------------------------------------
DISCLAIMER: This e-mail transmission and any documents, files and 
previous e-mail messages attached to it are private and confidential.  
They may contain proprietary or copyright material or information that 
is subject to legal professional privilege.  They are for the use of 
the intended recipient only.  Any unauthorised viewing, use, disclosure, 
copying, alteration, storage or distribution of, or reliance on, this 
message is strictly prohibited.  No part may be reproduced, adapted or 
transmitted without the written permission of the owner.  If you have 
received this transmission in error, or are not an authorised recipient, 
please immediately notify the sender by return email, delete this 
message and all copies from your e-mail system, and destroy any printed 
copies.  Receipt by anyone other than the intended recipient should not 
be deemed a waiver of any privilege or protection.  Thales Australia 
does not warrant or represent that this e-mail or any documents, files 
and previous e-mail messages attached are error or virus free.  

-------------------------------------------------------------------------
</body></html>