[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [QF-Test] Table cell selection and population
Hi Kevin, first about the deadlock: SUT scripts are executed on the Even Dispatch Thread, otherwise you'd run into trouble when interacting with the components. When you call a procedure from an SUT script and the procedure doesn't return, you're effectively blocking the SUT, causing the DeadlockTimeoutException. That's one of the reasons you should try to avoid calling rc.callProcedure from SUT scripts when possible. In your example, everything up to rc.getComponent could - and should - be done in a server script. The parameters for rc.callProcedure are the name of the procedure and either keyword arguments, or _a single_ dictionary. For your case both rc.callProcedure("qfs.swing.table.selectCell", {"id": "dialogCash_Dissection.tableTOTAL:", "column": 2, "row": 11}) or rc.callProcedure("qfs.swing.table.selectCell", id="dialogCash_Dissection.tableTOTAL:", column=2, row=11) should work. In case you need more help in addressing the table cells after correcting the above, please send your test-suite and a run-log showing the results directly to our support. Best regards, Greg "Liu, Kevin (DPTI)" <Kevin.Liu@?.au> writes: > Hello everyone, > > I want to select a table cell at row 11, column 2 and populate that cell with a value ‘1’ > > Now I’ve created a Jython SUT script as shown below: > > [cid] > > And I am calling the procedure ‘selectCell’ from qft.qft, but when I ran the following Jython SUT script (P.S. I’ve > tried the different rc.callProcedure as you seen in the commented lines, they all failed with different errors): > > from java.math import BigDecimal > > #rc.callProcedure("table.selectCell", {"id": "dialogCash_Dissection.tableTOTAL:"}, {"column": "2"}, {"row": "11"}, > {"columnSeparator": "&"}, {"rowSeparator": "&"}) > > #rc.callProcedure("table.selectCell", {"id": "dialogCash_Dissection.tableTOTAL:"}, {"column": "2"}, {"row": "11"}) > > #rc.callProcedure("table.selectCell", {"id": "dialogCash_Dissection.tableTOTAL:", "column": "2", "row": "11"}) > > #rc.callProcedure("table.selectCell", "dialogCash_Dissection.tableTOTAL:&2&11") > > #rc.callProcedure("table.selectCell", {"id": "dialogCash_Dissection.tableTOTAL:"}, {"dialogCash_Dissection.tableTOTAL: > &2&11"}) > > #rc.callProcedure("table.selectCell", {"dialogCash_Dissection.tableTOTAL:"}, {"dialogCash_Dissection.tableTOTAL:&2& > 11"}) > > rc.callProcedure("qfs.swing.table.selectCell", {"id": "dialogCash_Dissection.tableTOTAL:"}, {"column": 2}, {"row": > 11}) > > bd1 = BigDecimal($(amount)) > > bd2 = BigDecimal("0.05") > > numericDen05 = bd1.divide(bd2, 2, BigDecimal.ROUND_HALF_UP) > > table = rc.getComponent("dialogCash_Dissection.tableTOTAL:") > > rows = table.getRowCount() > > print rows > > I got a script error and followed by a deadlock issue > > [cid] > > [cid] > > Any ideas on how to select a table cell based on the column and row number without deadlock issues? > > And with the table cell population, is there any existing qft api reference I can just call? Or do I create a text > input node after the Jython SUT script? > > Thanks in advance > > Kevin > > _______________________________________________ > qftest-list mailing list > qftest-list@?.de > https://movement.qfs.de/mailman/listinfo/qftest-list -- Gregor Schmid E: gregor.schmid@?.de T: +49 8171 38648-11 F: +49 8171 38648-16 Quality First Software GmbH | www.qfs.de Tulpenstr. 41 | 82538 Geretsried | Germany GF Gregor Schmid, Dr. Martina Schmid, Karlheinz Kellerer HRB München 140833
|
1. Functional cookies
We use functional cookies to ensure the basic functionality of the website.
2. Performance and statistic cookies
We use Matomo for analyzing and optimizing our website. Cookies permit an anonymous collection of information that help us offering you a clear and user-friendly visit of our web pages.
This cookie contains a unique, pseudonymized visitor ID internal to Matomo for recognizing returning visitors.
This cookie is used to track from which website the anonymized user proceeded to our website.
The Matomo session cookie is used to track the visitor's page requests during the session.
is created and should be then directly deleted (used to check whether the visitor’s browser supports cookies).
short lived cookies used to temporarily store data for the visit.
short lived cookies used to temporarily store data for the visit.