2015-05-22 70 views
0

如何匹配對象不相等時的值,但它們是字符串。如何比較兩個值作爲使用機器人框架的字符串?

$ {標籤} =獲取文本的xpath = // [@ ID = 'projectTable_info'] $ {選擇 文字} =取從右$ {標籤}的$ {選定文本} =取 從$ {sele} =從左取指令{{selected text}條目$ {empno} =獲取表格單元
xpath =。//
[@ id ='projectTable'] 3 6獲取價值$ {empno} $ {only value} =從右邊獲取$ {empno} |如果是字符串 $ {僅值} $ {塞萊}轉換爲字符串$ {僅值}轉換 至字符串$ {塞萊}應該等於$ {僅值} $ {塞萊}

它給錯誤在控制檯中 如果在將對象轉換爲字符串後對象不相等,則失敗。 INFO參數類型:
FAIL 2 = 2

+1

你的代碼是亂碼。 –

回答

-2

鑄造整串

if str(var_int) != var_str: 
    raise AssertionError('Error: Not equal') 
+0

你的答案是用python編寫的測試。這是使用機器人框架編寫的測試。 –

3

相反的Should be equal,您可以使用Should be equal as strings其在進行比較之前的值轉換爲字符串轉換!

Should be equal as strings ${only value} ${sele} 

您的代碼似乎試圖手動將值轉換爲字符串,這也是一個合理的解決方案。不幸的是,Convert to string的文檔有點模糊,導致您不正確地使用它。該關鍵字沒有變更的說法,它返回一個新的字符串

如果你想手動轉換的變量,你需要做的是這樣的:

${sele}=   Convert to string ${sele} 
${only value}= Convert to string ${only value} 
Should be equal ${only value} ${sele} 
+0

「應該等於字符串」可能無法解決問題,當值是; \ n但是,「應該與整數相等」不會有這種副作用,這是推薦的。 \ n我正在使用它來等於HTTP狀態代碼。 –

+0

@GaGa_Ek:正確。但是,這個問題是關於比較字符串而不是整數的。 –

0

這個腳本會嘗試把輸入浮動和值在Python 2比較:

def should_be_x_than (self, number1, relation, number2): 
    ''' 
    This keyword makes relation between 2 numbers (it converts them to number) 
    Accepted relations: 
    < > <= => = 
    ''' 
    if relation =="<": 
     return float(number1) < float(number2) 
    if relation ==">": 
     return float(number1) > float(number2) 
    if relation =="=>": 
     return float(number1) >= float(number2) 
    if relation =="<=": 
     return float(number1) <= float(number2) 
    if relation =="=": 
     return float(number1) == float(number2) 

之後,我導入了庫並像關鍵字一樣使用它(Should Be X Than)。

Should Be X Than ${num1} < ${num2}