如何将数据库查询结果中的值存储到 Robot Framework 中的变量中

How to store a value from database query result into a Variable in Robot Framework

我已经将机器人框架代码写入 运行 数据库查询并记录查询结果

Connect To Database pymysql ${Database_name}    ${UserName} ${Password} ${DatabaseHost} ${Port} 

Check If Exists In Database SELECT cic.comboMenuItemId, mi1.zomatoName AS zomatoComboMenuItemName, cic.quantity, \ mi1.isVirtualCombo, cic.isItemVisible, cic.menuItemId, mi2.zomatoName AS zomatoMenuItemName, mi2.isVirtualCombo,micq.currentInventory FROM CombinationItemsComposition AS cic INNER JOIN MenuItem AS mi1 ON mi1.id = cic.comboMenuItemId INNER JOIN MenuItem AS mi2 ON mi2.id = cic.menuItemId INNER JOIN MenuItemCurrentQuantity AS micq ON micq.itemId = mi2.id WHERE mi1.isVirtualCombo NOT IN (0) AND micq.distributionId IN (7) AND mi1.isActive IN (1) AND mi2.isActive IN (1) AND micq.isAvailableOnZomato IN (1) ORDER BY cic.comboMenuItemId    

@{QueryResult}  Query   SELECT cic.comboMenuItemId, mi1.zomatoName AS zomatoComboMenuItemName, cic.quantity, \ mi1.isVirtualCombo, cic.isItemVisible, cic.menuItemId, mi2.zomatoName AS zomatoMenuItemName, mi2.isVirtualCombo,micq.currentInventory FROM CombinationItemsComposition AS cic INNER JOIN MenuItem AS mi1 ON mi1.id = cic.comboMenuItemId INNER JOIN MenuItem AS mi2 ON mi2.id = cic.menuItemId INNER JOIN MenuItemCurrentQuantity AS micq ON micq.itemId = mi2.id WHERE mi1.isVirtualCombo NOT IN (0) AND micq.distributionId IN (7) AND mi1.isActive IN (1) AND mi2.isActive IN (1) AND micq.isAvailableOnZomato IN (1) ORDER BY cic.comboMenuItemId

Log Many    @{QueryResult}                      

查询结果

(56, 'Party Pack (Serves 6-8)', 6, 1, 1, 1, 'Afghani Chicken Tikka Biryani (Heavy Eater)', 0, 11)   
(58, 'Party Pack (Serves 6-8)', 6, 1, 1, 3, 'Chicken Tikka Biryani (Heavy Eater)', 0, 4)    
(61, 'Party Pack (Serves 6-8)', 6, 1, 1, 5, 'Paneer Makhani Biryani (Heavy Eater)', 0, 18)  
(79, 'Party Pack (Serves 6-8)', 6, 1, 1, 74, 'Afghani Veg Biryani (Heavy Eater)', 0, 10)    
(90, 'Party Pack (Serves 6-8)', 6, 1, 1, 89, 'Butter Chicken Biryani (Heavy Eater)', 0, 0)  
(253, 'Party Pack (Serves 6-8)', 6, 1, 1, 250, 'Classic Hyderabadi Chicken Biryani (Heavy Eater)', 0, 0)    
(255, 'Party Pack (Serves 6-8)', 6, 1, 1, 252, 'Classic Hyderabadi Veg Biryani (Heavy Eater)', 0, 15)   
(339, 'Party Pack (Serves 6-8)', 6, 1, 1, 325, 'Awadhi Veg Biryani (Heavy Eater)', 0, 26)   
(340, 'Party Pack (Serves 6-8)', 6, 1, 1, 326, 'Awadhi Chicken Biryani (Heavy Eater)', 0, 0)    
(381, 'Classic Chicken Tikka Roll ', 1, 1, 0, 408, 'Malabari Paratha', 0, 191)  
(383, 'Signature Chicken Seekh Kebab Roll ', 1, 1, 0, 408, 'Malabari Paratha', 0, 191)

谁能建议我如何将一个特定行的值存储在变量中

谢谢

数据库中的每一行基本上都作为元组返回。要访问特定行,请使用索引。

Connect To Database pymysql ${Database_name}    ${UserName} ${Password} ${DatabaseHost} ${Port} 

Check If Exists In Database SELECT cic.comboMenuItemId, mi1.zomatoName AS zomatoComboMenuItemName, cic.quantity, \ mi1.isVirtualCombo, cic.isItemVisible, cic.menuItemId, mi2.zomatoName AS zomatoMenuItemName, mi2.isVirtualCombo,micq.currentInventory FROM CombinationItemsComposition AS cic INNER JOIN MenuItem AS mi1 ON mi1.id = cic.comboMenuItemId INNER JOIN MenuItem AS mi2 ON mi2.id = cic.menuItemId INNER JOIN MenuItemCurrentQuantity AS micq ON micq.itemId = mi2.id WHERE mi1.isVirtualCombo NOT IN (0) AND micq.distributionId IN (7) AND mi1.isActive IN (1) AND mi2.isActive IN (1) AND micq.isAvailableOnZomato IN (1) ORDER BY cic.comboMenuItemId    

@{QueryResult}  Query   SELECT cic.comboMenuItemId, mi1.zomatoName AS zomatoComboMenuItemName, cic.quantity, \ mi1.isVirtualCombo, cic.isItemVisible, cic.menuItemId, mi2.zomatoName AS zomatoMenuItemName, mi2.isVirtualCombo,micq.currentInventory FROM CombinationItemsComposition AS cic INNER JOIN MenuItem AS mi1 ON mi1.id = cic.comboMenuItemId INNER JOIN MenuItem AS mi2 ON mi2.id = cic.menuItemId INNER JOIN MenuItemCurrentQuantity AS micq ON micq.itemId = mi2.id WHERE mi1.isVirtualCombo NOT IN (0) AND micq.distributionId IN (7) AND mi1.isActive IN (1) AND mi2.isActive IN (1) AND micq.isAvailableOnZomato IN (1) ORDER BY cic.comboMenuItemId

${firstRow}     Set Variable   ${QueryResult[0]}
${secondRow}    Set Variable   ${QueryResult[1]}

在上面的示例中,${firstRow} 将包含值 (56, 'Party Pack (Serves 6-8)', 6, 1, 1, 1, 'Afghani Chicken Tikka Biryani (Heavy Eater)', 0, 11)${secondRow} 将包含值
(58, 'Party Pack (Serves 6-8)', 6, 1, 1, 3, 'Chicken Tikka Biryani (Heavy Eater)', 0, 4)