目前,我正在使用带有诺基亚/红色插件的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的关键字是一个黑盒子。您必须显式添加日志消息,并返回有用的错误。
例如,调用侧栏页。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")
...
如果您需要“进入”python定义的关键字,您需要将python调试器与RED一起使用。
这可以通过任何python调试器来完成,如果您希望将所有内容都放在一个应用程序中,那么PyDev可以与RED一起使用。
请遵循下面的帮助文档,如果您遇到任何问题,请在此处留言。
使用PyDev进行红色调试
我使用的是RxJava组合测试操作符。 根据文档,订阅时,只有在两个可观察对象都发出这些值之后,才会发生第一个组合发射事件,从这一点开始,它将在每个可观察对象的每次发射时发射。 如何确定第一个可观察到的发射事件已经发生,它现在正在等待第二个...
问题内容: 我在python中有以下代码 我的问题是在test_home_page函数之后,firefox实例关闭并为下一个test_whatever函数再次打开。我该怎么做,以便所有测试用例都从同一firefox实例执行。 问题答案: 在以下位置初始化firefox驱动程序:
在程序运行过程中,总会遇到各种各样的错误。 有的错误是程序编写有问题造成的,比如本来应该输出整数结果输出了字符串,这种错误我们通常称之为bug,bug是必须修复的。 有的错误是用户输入造成的,比如让用户输入email地址,结果得到一个空字符串,这种错误可以通过检查用户输入来做相应的处理。 还有一类错误是完全无法在程序运行过程中预测的,比如写入文件的时候,磁盘满了,写不进去了,或者从网络抓取数据,网
在程序运行过程中,总会遇到各种各样的错误。 有的错误是程序编写有问题造成的,比如本来应该输出整数结果输出了字符串,这种错误我们通常称之为bug,bug是必须修复的。 有的错误是用户输入造成的,比如让用户输入email地址,结果得到一个空字符串,这种错误可以通过检查用户输入来做相应的处理。 还有一类错误是完全无法在程序运行过程中预测的,比如写入文件的时候,磁盘满了,写不进去了,或者从网络抓取数据,网
22.13.2.调试 测试任务提供了Test.getDebug()属性,可使JVM等待调试器附加到5005端口后在进行调试. 通过调用--debug-JVM任务选项,这也可以启用调试任务(since Gradle1.12)。
本文向大家介绍如何从TestNG中的测试用例集合中合并和删除测试方法?,包括了如何从TestNG中的测试用例集合中合并和删除测试方法?的使用技巧和注意事项,需要的朋友参考一下 我们可以借助testng xml文件中的<groups>标记从执行中合并和删除测试方法。 示例 Testng xml文件。 testNG xml具有要包含的Smoke组和要从执行中排除的CodingModule组。 示例 在