【发布时间】:2018-02-27 06:33:00
【问题描述】:
我在使用 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 pabot 或 WebDriverException: 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 文件...当然 output.xml 在每个 pabot 命令之后都会被覆盖。
所以我想只是复制每个 output.xml 并重命名为 outputX.xml 最后制作一个
rebot output1.xml output2.xml output3.xml ....
但是 rebot 并没有像我预期的那样工作:rebot 只是复制 X 次报告上的第一个移动测试,所以我的 log.html 上有类似的东西:
JustBasics
Test_Results_for_phone1
Test_Results_for_phone1LetsRunAnother
Test_Results_for_phone1
Test_Results_for_phone1
我做错了什么?
我的第二个问题是,当测试执行失败时(例如应用程序的错误或崩溃),我的日志文件中没有屏幕截图。它们都指向 log.html 的根目录,但图像位于类似 pabots_results/X/TestSuiteName/appium-screenshoot-x.png 的路径中 这里又出了什么问题?我是否必须对图像做一些事情,或者 pabot 应该单独做(在 pabot.py 几乎然后文件末尾,有一个名为 _copy_screenshots ....)的函数
这个故事令人不安的是,关于 pabot 的文档并不多。而且我不知道是我做错了什么还是pabot有一些错误!
感谢您阅读我的文章,再见;)!
更新:为了避免所有这些问题,我编写了这个小工具:https://github.com/bastienjalbert/aptr
【问题讨论】:
-
感谢您的建议。下次我会尽量按照你告诉我的去做
-
我做了这个小工具来解决我的问题github.com/bastienjalbert/aptr
标签: android jenkins appium robotframework