Am urmatorul cod care citește date de pe un hdd extern excel și a lovit bara de cerere, dar ori de câte ori am întâlnit o afirmație de eroare cu 1 rând în set de date din excel, pentru bucla se opreste si restul de excel rânduri nu sunt luate pentru execuție. La execuția programului se oprește la acest punct. Cum de a depăși acest lucru? Cerința mea este daca din 10 set de date(10 rânduri în excel), afirmația eșuează în a 5-a de exemplu, ar trebui să execute programul cu restul de seturi de date și la sfârșitul marca caz de test de execuție, nu a REUȘIT.
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