Bonjour,
L'export des cas de test est prévu pour la version 1.4.0.
Cet export sera possible sous les formats CSV / XLS / Calc.
Pour plus de détails sur les fonctionnalités à venir, vous pouvez vous rendre sur la [url=index.php/fr/squash-tm/roadmap]Roadmap[/url].
Nous restons bien entendu à votre disposition.
Export des cas de test
Re:Export des cas de test
Bonjour j'ai développé un export des itérations de test et des suites de test en php en interrogeant directement la base MysQL. Je peux mettre à disposition le code qui propose un export Excel ou HTML. Mais je ne connais la procédure à suivre pour partager des fichiers sur le forum.
Re:Export des cas de test
à défaut, je peux livrer les requêtes SQL directement sur le Forum
Re:Export des cas de test
Bonjour,
Merci pour votre proposition de contribution.
Pour une contribution sur le code source de l'application (par exemple une correctino de bug), la procédure serait de forker [url=https://bitbucket.org/nx/squashtest-tm]les sources sur Bitbucket[/url], committer vos changements sur votre fork puis faire une [url=http://blog.bitbucket.org/2011/06/17/pu ... st-revamp/]pull request[/url].
Dans votre cas, nous n'avons pas de procédure bien définie mais vous pouvez mettre vos sources en pièce jointe sur le forum.
Merci pour votre proposition de contribution.
Pour une contribution sur le code source de l'application (par exemple une correctino de bug), la procédure serait de forker [url=https://bitbucket.org/nx/squashtest-tm]les sources sur Bitbucket[/url], committer vos changements sur votre fork puis faire une [url=http://blog.bitbucket.org/2011/06/17/pu ... st-revamp/]pull request[/url].
Dans votre cas, nous n'avons pas de procédure bien définie mais vous pouvez mettre vos sources en pièce jointe sur le forum.
Re:Export des cas de test
Bonjour,
voici les requêtes concernant une campagne avec itération d'une part et avec "test suite" d'autres part. Il faut juste remplacer les variables i[i]dCampagne, idIteration, idTestSuite [/i]par les bonnes valeurs.
Sinon je vous transmets en pièce jointe, l'export réalisé en PHP.
Il suffit d'appeler le dossier export_squash dans la page d'accueil de squash via un lien contenant la bonne url sur la page de connexion ou d'accueil.
Il faut pour cela installer php et un serveur apache ou WAMP
le fichier en pièce jointe [b]export_squash.zip[/b] à décompresser dans le répertoire www de wamp ou dans le répertoire [b]htdocs [/b]de apache.
Cet export permet d'exporter une campagne de test au format HTML ou Excel
[u][b]les requêtes (fonctionnent sur une base MySQL)[/b][/u]
[u]avec itération[/u]
(SELECT p.name, cln.name, i.name, tcln.name 'nom', tcln.description 'description', tcs.step_order 'cas', ats.action, ats.expected_result, ats.test_step_id, itpl.item_test_plan_order 'ordre'
[pre] FROM test_case_steps tcs[/pre]
[pre] INNER JOIN action_test_step ats ON tcs.step_id = ats.test_step_id[/pre]
[pre] INNER JOIN test_case_library_node tcln ON tcln.tcln_id = tcs.test_case_id[/pre]
[pre] INNER JOIN project p ON p.project_id = tcln.project_id[/pre]
[pre] INNER JOIN campaign_library_node cln ON cln.project_id = p.project_id[/pre]
[pre] INNER JOIN iteration_test_plan_item itpi ON itpi.tcln_id = tcln.tcln_id[/pre]
[pre] INNER JOIN item_test_plan_list itpl ON itpl.item_test_plan_id = itpi.item_test_plan_id[/pre]
[pre] INNER JOIN iteration i ON i.iteration_id = itpl.iteration_id[/pre]
[pre] INNER JOIN campaign c ON c.cln_id = cln.cln_id[/pre]
[pre] INNER JOIN campaign_iteration ci ON ci.campaign_id = c.cln_id[/pre]
[pre] WHERE i.iteration_id=".$idIteration." and cln.cln_id =".$idCampagne."[/pre]
[pre] group by ats.test_step_id) [/pre]
[pre] UNION[/pre]
[pre] (SELECT p.name, cln.name, i.name, CONCAT_WS('>',tcln.name,tcln2.name) 'nom', tcln.description, CONCAT_WS('_',tcs.step_order,tcs2.step_order) 'cas', ats.action, ats.expected_result, ats.test_step_id,itpl.item_test_plan_order 'ordre'[/pre]
[pre] FROM test_case_steps tcs[/pre]
[pre] INNER JOIN call_test_step cts ON cts.test_step_id=tcs.step_id -- jointure sur l'étape[/pre]
[pre] INNER JOIN test_case_steps tcs2 ON tcs2.test_case_id=cts.called_test_case_id [/pre]
[pre] INNER JOIN action_test_step ats ON ats.test_step_id=tcs2.step_id[/pre]
[pre] INNER JOIN test_case_library_node tcln ON tcln.tcln_id = tcs.test_case_id -- père[/pre]
[pre] INNER JOIN test_case_library_node tcln2 ON tcln2.tcln_id = tcs2.test_case_id -- fils[/pre]
[pre] INNER JOIN project p ON p.project_id = tcln.project_id[/pre]
[pre] INNER JOIN campaign_library_node cln ON cln.project_id = p.project_id[/pre]
[pre] INNER JOIN iteration_test_plan_item itpi ON itpi.tcln_id = tcln.tcln_id[/pre]
[pre] INNER JOIN item_test_plan_list itpl ON itpl.item_test_plan_id = itpi.item_test_plan_id[/pre]
[pre] INNER JOIN iteration i ON i.iteration_id = itpl.iteration_id[/pre]
[pre] INNER JOIN campaign c ON c.cln_id = cln.cln_id[/pre]
[pre] INNER JOIN campaign_iteration ci ON ci.campaign_id = c.cln_id[/pre]
[pre] WHERE i.iteration_id=".$idIteration." and cln.cln_id =".$idCampagne."[/pre]
[pre] GROUP BY ats.test_step_id)[/pre]
[pre] ORDER BY ordre asc, cas asc[/pre]
[u]avec "test suite"[/u]
[pre]SELECT p.name, cln.name, i.name, ts.name 'test suite', tcln.name 'nom', cln.description 'description', tcs.step_order 'cas', ats.action, ats.expected_result, ats.test_step_id, itpl.item_test_plan_order 'ordre'[/pre]
[pre] FROM test_case_steps tcs[/pre]
[pre] INNER JOIN action_test_step ats ON tcs.step_id = ats.test_step_id[/pre]
[pre] INNER JOIN test_case_library_node tcln ON tcln.tcln_id = tcs.test_case_id[/pre]
[pre] INNER JOIN project p ON p.project_id = tcln.project_id[/pre]
[pre] INNER JOIN campaign_library_node cln ON cln.project_id = p.project_id[/pre]
[pre] INNER JOIN iteration_test_plan_item itpi ON itpi.tcln_id = tcln.tcln_id[/pre]
[pre] INNER JOIN item_test_plan_list itpl ON itpl.item_test_plan_id = itpi.item_test_plan_id[/pre]
[pre] INNER JOIN iteration i ON i.iteration_id = itpl.iteration_id[/pre]
[pre] INNER JOIN campaign c ON c.cln_id = cln.cln_id[/pre]
[pre] INNER JOIN campaign_iteration ci ON ci.campaign_id = c.cln_id[/pre]
[pre] INNER JOIN test_suite ts ON ts.id=itpi.test_suite[/pre]
[pre] WHERE i.iteration_id=".$idIteration. " and cln.cln_id =".$idCampagne." and itpi.test_suite=".$idTestSuite."[/pre]
[pre] group by ats.test_step_id) [/pre]
[pre] UNION[/pre]
[pre] (SELECT p.name, cln.name, i.name, ts.name 'test suite', CONCAT_WS('>',tcln.name,tcln2.name) 'nom', tcln.description, CONCAT_WS('_',tcs.step_order,tcs2.step_order) 'cas', ats.action, ats.expected_result, ats.test_step_id,itpl.item_test_plan_order 'ordre'[/pre]
[pre] FROM test_case_steps tcs[/pre]
[pre] INNER JOIN call_test_step cts ON cts.test_step_id=tcs.step_id -- jointure sur l'étape (cas des so[url=http://www.squashtest.org/index.php/sup ... mode-reply#] Sauvegarder [/url]us test)[/pre]
[pre] INNER JOIN test_case_steps tcs2 ON tcs2.test_case_id=cts.called_test_case_id [/pre]
[pre] INNER JOIN action_test_step ats ON ats.test_step_id=tcs2.step_id[/pre]
[pre] INNER JOIN test_case_library_node tcln ON tcln.tcln_id = tcs.test_case_id -- père[/pre]
[pre] INNER JOIN test_case_library_node tcln2 ON tcln.tcln_id = tcs2.test_case_id -- fils[/pre]
[pre] INNER JOIN project p ON p.project_id = tcln.project_id[/pre]
[pre] INNER JOIN campaign_library_node cln ON cln.project_id = p.project_id[/pre]
[pre] INNER JOIN iteration_test_plan_item itpi ON itpi.tcln_id = tcln.tcln_id[/pre]
[pre] INNER JOIN item_test_plan_list itpl ON itpl.item_test_plan_id = itpi.item_test_plan_id[/pre]
[pre] INNER JOIN iteration i ON i.iteration_id = itpl.iteration_id[/pre]
[pre] INNER JOIN campaign c ON c.cln_id = cln.cln_id[/pre]
[pre] INNER JOIN campaign_iteration ci ON ci.campaign_id = c.cln_id[/pre]
[pre] INNER JOIN test_suite ts ON ts.id=itpi.test_suite[/pre]
[pre] WHERE i.iteration_id=".$idIteration. " and cln.cln_id =".$idCampagne." and itpi.test_suite= ".$idTestSuite."[/pre]
[pre] group by ats.test_step_id)[/pre]
[pre] ORDER BY ordre asc, cas asc"[/pre]
voici les requêtes concernant une campagne avec itération d'une part et avec "test suite" d'autres part. Il faut juste remplacer les variables i[i]dCampagne, idIteration, idTestSuite [/i]par les bonnes valeurs.
Sinon je vous transmets en pièce jointe, l'export réalisé en PHP.
Il suffit d'appeler le dossier export_squash dans la page d'accueil de squash via un lien contenant la bonne url sur la page de connexion ou d'accueil.
Il faut pour cela installer php et un serveur apache ou WAMP
le fichier en pièce jointe [b]export_squash.zip[/b] à décompresser dans le répertoire www de wamp ou dans le répertoire [b]htdocs [/b]de apache.
Cet export permet d'exporter une campagne de test au format HTML ou Excel
[u][b]les requêtes (fonctionnent sur une base MySQL)[/b][/u]
[u]avec itération[/u]
(SELECT p.name, cln.name, i.name, tcln.name 'nom', tcln.description 'description', tcs.step_order 'cas', ats.action, ats.expected_result, ats.test_step_id, itpl.item_test_plan_order 'ordre'
[pre] FROM test_case_steps tcs[/pre]
[pre] INNER JOIN action_test_step ats ON tcs.step_id = ats.test_step_id[/pre]
[pre] INNER JOIN test_case_library_node tcln ON tcln.tcln_id = tcs.test_case_id[/pre]
[pre] INNER JOIN project p ON p.project_id = tcln.project_id[/pre]
[pre] INNER JOIN campaign_library_node cln ON cln.project_id = p.project_id[/pre]
[pre] INNER JOIN iteration_test_plan_item itpi ON itpi.tcln_id = tcln.tcln_id[/pre]
[pre] INNER JOIN item_test_plan_list itpl ON itpl.item_test_plan_id = itpi.item_test_plan_id[/pre]
[pre] INNER JOIN iteration i ON i.iteration_id = itpl.iteration_id[/pre]
[pre] INNER JOIN campaign c ON c.cln_id = cln.cln_id[/pre]
[pre] INNER JOIN campaign_iteration ci ON ci.campaign_id = c.cln_id[/pre]
[pre] WHERE i.iteration_id=".$idIteration." and cln.cln_id =".$idCampagne."[/pre]
[pre] group by ats.test_step_id) [/pre]
[pre] UNION[/pre]
[pre] (SELECT p.name, cln.name, i.name, CONCAT_WS('>',tcln.name,tcln2.name) 'nom', tcln.description, CONCAT_WS('_',tcs.step_order,tcs2.step_order) 'cas', ats.action, ats.expected_result, ats.test_step_id,itpl.item_test_plan_order 'ordre'[/pre]
[pre] FROM test_case_steps tcs[/pre]
[pre] INNER JOIN call_test_step cts ON cts.test_step_id=tcs.step_id -- jointure sur l'étape[/pre]
[pre] INNER JOIN test_case_steps tcs2 ON tcs2.test_case_id=cts.called_test_case_id [/pre]
[pre] INNER JOIN action_test_step ats ON ats.test_step_id=tcs2.step_id[/pre]
[pre] INNER JOIN test_case_library_node tcln ON tcln.tcln_id = tcs.test_case_id -- père[/pre]
[pre] INNER JOIN test_case_library_node tcln2 ON tcln2.tcln_id = tcs2.test_case_id -- fils[/pre]
[pre] INNER JOIN project p ON p.project_id = tcln.project_id[/pre]
[pre] INNER JOIN campaign_library_node cln ON cln.project_id = p.project_id[/pre]
[pre] INNER JOIN iteration_test_plan_item itpi ON itpi.tcln_id = tcln.tcln_id[/pre]
[pre] INNER JOIN item_test_plan_list itpl ON itpl.item_test_plan_id = itpi.item_test_plan_id[/pre]
[pre] INNER JOIN iteration i ON i.iteration_id = itpl.iteration_id[/pre]
[pre] INNER JOIN campaign c ON c.cln_id = cln.cln_id[/pre]
[pre] INNER JOIN campaign_iteration ci ON ci.campaign_id = c.cln_id[/pre]
[pre] WHERE i.iteration_id=".$idIteration." and cln.cln_id =".$idCampagne."[/pre]
[pre] GROUP BY ats.test_step_id)[/pre]
[pre] ORDER BY ordre asc, cas asc[/pre]
[u]avec "test suite"[/u]
[pre]SELECT p.name, cln.name, i.name, ts.name 'test suite', tcln.name 'nom', cln.description 'description', tcs.step_order 'cas', ats.action, ats.expected_result, ats.test_step_id, itpl.item_test_plan_order 'ordre'[/pre]
[pre] FROM test_case_steps tcs[/pre]
[pre] INNER JOIN action_test_step ats ON tcs.step_id = ats.test_step_id[/pre]
[pre] INNER JOIN test_case_library_node tcln ON tcln.tcln_id = tcs.test_case_id[/pre]
[pre] INNER JOIN project p ON p.project_id = tcln.project_id[/pre]
[pre] INNER JOIN campaign_library_node cln ON cln.project_id = p.project_id[/pre]
[pre] INNER JOIN iteration_test_plan_item itpi ON itpi.tcln_id = tcln.tcln_id[/pre]
[pre] INNER JOIN item_test_plan_list itpl ON itpl.item_test_plan_id = itpi.item_test_plan_id[/pre]
[pre] INNER JOIN iteration i ON i.iteration_id = itpl.iteration_id[/pre]
[pre] INNER JOIN campaign c ON c.cln_id = cln.cln_id[/pre]
[pre] INNER JOIN campaign_iteration ci ON ci.campaign_id = c.cln_id[/pre]
[pre] INNER JOIN test_suite ts ON ts.id=itpi.test_suite[/pre]
[pre] WHERE i.iteration_id=".$idIteration. " and cln.cln_id =".$idCampagne." and itpi.test_suite=".$idTestSuite."[/pre]
[pre] group by ats.test_step_id) [/pre]
[pre] UNION[/pre]
[pre] (SELECT p.name, cln.name, i.name, ts.name 'test suite', CONCAT_WS('>',tcln.name,tcln2.name) 'nom', tcln.description, CONCAT_WS('_',tcs.step_order,tcs2.step_order) 'cas', ats.action, ats.expected_result, ats.test_step_id,itpl.item_test_plan_order 'ordre'[/pre]
[pre] FROM test_case_steps tcs[/pre]
[pre] INNER JOIN call_test_step cts ON cts.test_step_id=tcs.step_id -- jointure sur l'étape (cas des so[url=http://www.squashtest.org/index.php/sup ... mode-reply#] Sauvegarder [/url]us test)[/pre]
[pre] INNER JOIN test_case_steps tcs2 ON tcs2.test_case_id=cts.called_test_case_id [/pre]
[pre] INNER JOIN action_test_step ats ON ats.test_step_id=tcs2.step_id[/pre]
[pre] INNER JOIN test_case_library_node tcln ON tcln.tcln_id = tcs.test_case_id -- père[/pre]
[pre] INNER JOIN test_case_library_node tcln2 ON tcln.tcln_id = tcs2.test_case_id -- fils[/pre]
[pre] INNER JOIN project p ON p.project_id = tcln.project_id[/pre]
[pre] INNER JOIN campaign_library_node cln ON cln.project_id = p.project_id[/pre]
[pre] INNER JOIN iteration_test_plan_item itpi ON itpi.tcln_id = tcln.tcln_id[/pre]
[pre] INNER JOIN item_test_plan_list itpl ON itpl.item_test_plan_id = itpi.item_test_plan_id[/pre]
[pre] INNER JOIN iteration i ON i.iteration_id = itpl.iteration_id[/pre]
[pre] INNER JOIN campaign c ON c.cln_id = cln.cln_id[/pre]
[pre] INNER JOIN campaign_iteration ci ON ci.campaign_id = c.cln_id[/pre]
[pre] INNER JOIN test_suite ts ON ts.id=itpi.test_suite[/pre]
[pre] WHERE i.iteration_id=".$idIteration. " and cln.cln_id =".$idCampagne." and itpi.test_suite= ".$idTestSuite."[/pre]
[pre] group by ats.test_step_id)[/pre]
[pre] ORDER BY ordre asc, cas asc"[/pre]
- Pièces jointes
-
- export_squash.zip
- (95.2 Kio) Téléchargé 157 fois
Re:Export des cas de test
Bonjour
Merci pour votre contribution.
Merci pour votre contribution.
Re:Export des cas de test
Attention les requêtes de l'époque ne prennent pas en compte les évolutions de la 1.2 et notamment les Test Suite.
ces requêtes ont été réalisé pour avoir une version papier des plan de test car les applications testées sont isolées de tout réseau.
ces requêtes ont été réalisé pour avoir une version papier des plan de test car les applications testées sont isolées de tout réseau.