Android 帕博特、阿皮姆和报告
我在使用appium和pabot运行Robot框架测试套件时遇到一些问题 我正在多台android设备上运行一些测试套件,如下所示:Android 帕博特、阿皮姆和报告,android,jenkins,appium,robotframework,Android,Jenkins,Appium,Robotframework,我在使用appium和pabot运行Robot框架测试套件时遇到一些问题 我正在多台android设备上运行一些测试套件,如下所示: pabot --pabotlib --argumentfile1 phone1.dat --argumentfile2 phone2.dat -v LANG:fr --outputdir output --output basics.xml JustBasics_tests.robot pabot --pabotlib --argumentfile1 phone
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指令中执行所有套件,因为如果我这样做的话,我会遇到一些应用程序错误。。。错误如下:WebDriverException:Message:会话已终止或未启动pabot
或WebDriverException:Message:无法创建新会话。详细信息:获取驱动程序类型AndroidDriver的会话数据时出现问题;它是否实现了“获取驱动数据”?
我想从另一个.xml和basics.xml生成一个类似log.html和report.html的报告(之后与Jenkins一起使用)
我的第一个问题是basics.xml和另一个.xml文件只包含两个设备中的一个测试执行。如果我想要一个测试用例执行的两个设备的数据,我需要获取output.xml文件,该文件包含两个测试用例执行。。。当然,output.xml在每个pabot命令之后都会被覆盖
所以我想复制每个output.xml并重命名为outputX.xml,最后生成一个
rebot output1.xml output2.xml output3.xml ....
但是rebot并不像我预期的那样工作:rebot只是在报告上复制X次第一次移动测试,所以我的log.html上有这样的内容:
JustBasics电话1的测试结果
电话1的测试结果 LetsRunAnother
电话1的测试结果
电话1的测试结果 我做错了什么 我的第二个问题是,当测试执行失败(例如应用程序出错或崩溃)时,我的日志文件中没有截图。它们都指向log.html中的根目录,但图像的路径类似于pabots_results/X/TestSuiteName/appium-screenshot-X.png 再说一遍,怎么了?我必须对图像做些什么,还是pabot应该单独做(在文件末尾的pabot.py中,有一个函数名为_copy_screenshots…) 这个故事令人不安的是,关于pabot的文档并不多。我不知道我是做错了什么,还是帕博特有错误 谢谢你读我的书,再见
更新:为了避免所有这些问题,我写了这个小工具:对于你的截图问题,我假设你使用的是Jenkins的机器人框架插件。这里发生的事情是,在测试执行后,插件会将您的输出、报告和日志移动到当前构建的工作区,以在构建的仪表板中显示它。另一方面,默认情况下,屏幕截图不会移动 在作业配置中,在
生成后操作
下,应该有发布机器人框架测试结果
。单击“高级”按钮查看所有选项,您应该有一个标记为“要复制的其他文件”
在此字段中,添加与selenium屏幕截图匹配的路径(可能只是*.png
)
现在,在您执行测试之后,插件应该将您的屏幕截图移动到与log.html相同的位置,它们将能够显示在日志中
您可以在插件的中找到这一点,以及可能与您相关的更多信息,我想您会想使用
rebot --merge output1.xml output2.xml output3.xml ....
从
来自同一测试套件的“合并输出”。如果两个输出文件不是关于同一测试套件的,则合并参数无法合并它们。Pabot不检查结果()的任何子文件夹中是否有屏幕截图。两个屏幕截图都不是从pabot_结果文件夹复制的。我在pabot上写了一篇小文章来拷贝截图。我不想依赖jenkin的团队来正确生成我的报告。谢谢你的建议。下次我做这个小工具来解决我的问题时,我会按照你告诉我的去做
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
(...)