PABO,阿皮亚和报告

问题描述 投票:1回答:2

我在使用appium和pabot运行Robot Framework测试套件时遇到了一些问题。

我正在多个Android设备上运行一些测试套件,如下所示:

pabot --pabotlib --argumentfile1 phone1.dat --argumentfile2 phone2.dat -v LANG:fr --outputdir output --output basics.xml JustBasics_tests.robot 
pabot --pabotlib --argumentfile1 phone1.dat --argumentfile2 phone2.dat -v LANG:fr --outputdir output --output another.xml LetsRunAnother_test.robot 

我没有在一个pabot指令中执行所有套件,因为如果我喜欢这个,我会得到一些appium错误...错误如:WebDriverException: Message: A session is either terminated or not started pabotWebDriverException: Message: A new session could not be created. Details: Problem getting session data for driver type AndroidDriver; does it implement 'get driverData'?

我想从another.xml和basics.xml创建一个报告,例如log.html和report.html(之后与Jenkins合作)。

我的第一个问题是basics.xml和another.xml文件只包含一个来自两个设备之一的测试执行。如果我想从测试用例执行的两个设备获取数据,我需要获取包含测试用例执行的output.xml文件......当然,在每个pabot命令之后会覆盖output.xml。

所以我想只需复制每个output.xml并重命名为outputX.xml,最后制作一个

rebot output1.xml output2.xml output3.xml .... 

但是重启不能像我预期的那样工作:重启只是复制X次报告的第一次移动测试,所以我在log.html上有类似的东西:

JustBasics Test_Results_for_phone1 Test_Results_for_phone1

LetsRunAnother Test_Results_for_phone1 Test_Results_for_phone1

我究竟做错了什么?

我的第二个问题是我的日志文件中没有屏幕截图,当测试执行失败时(例如app的错误或崩溃)。它们都指向log.html中的根目录,但图像位于路径中,如pabots_results / X / TestSuiteName / appium-screenshoot-x.png这里又出了什么问题?我是否必须对图像做一些事情,或者pabot应该单独执行(在pabot.py接近文件末尾,有一个名为_copy_screenshots的函数....)

关于这个故事令人不安的是,没有关于pabot的大量文档。而且我不知道我做错了什么或者pabot是否有一些错误!

所以感谢阅读我,看到你;)!

更新:为了避免所有这些问题,我写了这个小工具:https://github.com/bastienjalbert/aptr

android jenkins appium robotframework
2个回答
0
投票

对于你的截图问题,我假设你正在使用Jenkins的Robot Framework插件。这里发生的是,在测试执行后,插件将移动输出,报告并记录到当前构建的工作区,以在构建的仪表板中显示它。另一方面,屏幕截图默认情况下不会移动。

在你的工作配置中,在post-build actions下,你应该有publish Robot Framework test results。单击高级按钮,查看所有选项,您应该有一个标记为other files to copy的字段

在此字段中,您可以添加与您的selenium屏幕截图匹配的路径(可能只是*.png

现在,在测试执行之后,插件应该将屏幕截图移动到与log.html相同的位置,并且它们将能够显示在日志中。

您可以在插件的page中找到这个以及可能与您相关的更多信息


0
投票

我想你会想用

rebot --merge output1.xml output2.xml output3.xml .... 

rebot --help

(...)
Options
=======

 -R --merge               When combining results, merge outputs together
                          instead of putting them under a new top level suite.
                          Example: rebot --merge orig.xml rerun.xml
(...)
© www.soinside.com 2019 - 2024. All rights reserved.