目前,我正在使用带有诺基亚/红色插件的Eclipse,它允许我编写robot框架测试套件。支持Python 3.6和Selenium。我的项目叫做“自动化”,测试套件在中。robot文件。测试套件具有称为“关键字”的测试用例。
测试用例
创建新车辆
Create new vehicle with next ${registrationno} and ${description}
Navigate to data section
这些“关键字”是从python库导入的,如下所示:
@keyword("Create new vehicle with next ${registrationno} and ${description}")
def create_new_vehicle_Simple(self,registrationno, description):
headerPage = HeaderPage(TestCaseKeywords.driver)
sideBarPage = headerPage.selectDaten()
basicVehicleCreation = sideBarPage.createNewVehicle()
basicVehicleCreation.setKennzeichen(registrationno)
basicVehicleCreation.setBeschreibung(description)
TestCaseKeywords.carnumber = basicVehicleCreation.save()
问题是当我运行测试用例时,在日志中我只得到整个python函数的结果,通过或失败。我看不到它在哪一步失败了——是在这个函数的第一步还是第二步。
对于这种情况,是否有插件或其他解决方案能够看到哪个python函数通过或失败?(当然,解决方法是在TC中为每个函数使用关键字,但这不是我喜欢的)
如果您需要“进入”python定义的关键字,您需要将python调试器与RED一起使用。
这可以通过任何python调试器来完成,如果您希望将所有内容都放在一个应用程序中,那么PyDev可以与RED一起使用。
请遵循下面的帮助文档,如果您遇到任何问题,请在此处留言。
使用PyDev进行红色调试
如果您想知道基于python的关键字中的哪个语句失败了,只需让它抛出一个适当的错误。然而,机器人不会为你做这件事。从报告的角度来看,基于python的关键字是一个黑盒子。您必须显式添加日志消息,并返回有用的错误。
例如,调用侧栏页。createNewVehicle()应引发异常,例如“无法创建新车辆”。同样,对基本车辆创建的调用。setKennzeichen(registrationno)应引发类似“未能注册车辆”的错误。
如果您无法控制这些方法,可以从关键字中执行错误处理:
@keyword("Create new vehicle with next ${registrationno} and ${description}")
def create_new_vehicle_Simple(self,registrationno, description):
headerPage = HeaderPage(TestCaseKeywords.driver)
sideBarPage = headerPage.selectDaten()
try:
basicVehicleCreation = sideBarPage.createNewVehicle()
except:
raise Exception("unable to create new vehicle")
try:
basicVehicleCreation.setKennzeichen(registrationno)
except:
raise exception("unable to register new vehicle")
...