Mám následující kód, který čte data z externího excel a hit post požadavek, ale kdykoliv jsem se setkal s tvrzením, že chyba s 1 řádek souboru dat z aplikace excel, pro smyčky zastaví a zbytek excel řádky nejsou přijata k vyřízení. Provádění programu dostane zastavil v tu chvíli. Jak to překonat? Můj požadavek je, jestli z 10 datové sady(10 řádků v aplikaci excel), tvrzení selže v 5. ten, například, je třeba spustit program s zbývající sady dat a na konci označit testovací případ výkon, protože se NEZDAŘILO.
def test_1A():
url_plan = getCOnfigurations()['API']['URL'] + APIResources.endpoints_plans
classic_sum_values = [200000, 300000, 400000]
payload_plan = open('C:/Users/aprat/PycharmProjects/RSAHealthPytest/PayLoads/plans/1A.json','r')
json_payload_plan = json.loads(payload_plan.read())
obj = Library.BaseClass("C:/Users/aprat/PycharmProjects/RSAHealthPytest/TestData/1A/TestData1A.xlsx","sheet1")
col = obj.fetch_column_count()
row = obj.fetch_row_count()
key_age = obj.fetch_key_names()
key_dob = obj.fetch_key_names()
key_sum = obj.fetch_key_names()
key_ten = obj.fetch_key_names()
key_pr_mem_age = obj.fetch_key_names()
for i in range(2, row+1):
datadriven_json_data_plan = obj.update_request_with_data_plan1A(i,json_payload_plan,key_age,key_dob,key_pr_mem_age,key_sum,key_ten)
a1_age = json_payload_plan['payload']['data']['insured'][0]['age']
a1_dob = json_payload_plan['payload']['data']['insured'][0]['dob']
prim_mem_age = json_payload_plan['payload']['data']['primary_member_age']
tot_sum = json_payload_plan['payload']['data']['sum_insured']
tenure = json_payload_plan['payload']['data']['tenure']
response = requests.post(url_plan, json=datadriven_json_data_plan,)
json_response_plan = response.json()
print(json_response_plan)
if int(tenure) == 1 or int(tenure) == 2 or int(tenure) == 3:
if int(tot_sum) in classic_sum_values:
if int(18) <= int(a1_age) <= int(50):
print(json_response_plan[0]['article_code'])
try:
assert int(json_response_plan[0]['premium']) > int(1)
assert int(json_response_plan[0]['term']) == int(tenure)
assert int(json_response_plan[0]['validity']) == int(tenure)
assert int(json_response_plan[0]['sa']) == int(tot_sum)
except Exception as e:
json_data = datadriven_json_data_plan
sys.stdout = open("plans_classic_1A.log", "a")
_, _, tb = sys.exc_info()
traceback.print_tb(tb)
tb_info = traceback.extract_tb(tb)
filename, line, func, text = tb_info[-1]
print('An error occurred on line {} in statement {}'.format(line, text))
print("Test failure due to assertion error")
print("adult1 age=" + " " + str(a1_age))
print("sum insured=" + " " + str(tot_sum))
print("tenure=" + " " + str(tenure))
print(json.dumps(json_data, indent=2))
print("**************************************************************************")
raise e