#robotframework
#robotframework
Вопрос:
Нужна помощь в том, как добавить в середине строки
Я хочу добавить значение 2.
- запишите сумму. количество, отображаемое в системном опыте: 79 000,00
- удалите строку и .00, чтобы преобразовать ее в число
- преобразовать в число
- вычислить значение 2
- получен результат = ${Ожидаемые результаты}
- сравните результат со значением, отображаемым на экране.
Моя проблема в том, что на экране отображается сумма в 80 000,00 долларов, но $ {expectedResults} отображается как 80000,00. Таким образом, фреймворк робота потерпит неудачу.
может кто-нибудь помочь мне, как я могу добавить, чтобы сделать это 80,0000.00
Заранее благодарю вас
${list1}= Get text xpath=//table[3]/tbody/tr[4]/td[6]
${list2}= Get Text xpath=//table[3]/tbody/tr[5]/td[6]
${list3} Remove String ${list1} , .00
${list4} Remove String ${list2} , .00
log ${list3}
${list3} Convert To Number ${list3} 2
${list4} Convert To Number ${list4} 2
log ${list3}
log ${list4}
${expectedResults}= Evaluate (${list3} ${list4})
${expectedResults}= Convert To Number ${expectedResults} 2
${expectedResults}= Evaluate "%.2f" % ${expectedResults}
Log ${expectedResults}
Table cell Should Contain xpath=//table[3] 4 6 ${list1}
Table cell Should Contain xpath=//table[3] 5 6 ${list2}
Table cell Should Contain xpath=//table[3] 6 10 ${expectedResults}
Комментарии:
1. try должны быть равны числам
2. Просто удалите
,
так же, как на шаге 2, и подтвердите
Ответ №1:
Чтобы добавить разделитель тысяч в числовую строку, используйте эту форму .format()
:
${expectedResults}= Evaluate "{:,.2f}".format($expectedResults)
.format()
это намного проще и мощнее, чем форматирование в стиле printf (конструкция, которую вы используете в настоящее время, с %
), и если вы работаете под версией python > = 3.6, f-строки еще лучше.
,
В форматере указано добавление разделителя тысяч — я не думаю, что это даже опция в форматировании printf, .2f
это точность.
Ответ №2:
Я решил проблему. используя Python> 3.1, используйте функцию «Форматировать строку»
${expectedResults}= Evaluate (${list3} ${list4})
${int variable}= Set Variable ${expectedResults}
${string var} = Format String {:,} ${int_variable}
log ${string var}
теперь он добавит запятую, разделяющую тысячи = 80 000,00