J'ai le code suivant qui lit les données à partir d'un excel externe et a frappé le poteau demande, mais à chaque fois que j'ai rencontré une erreur d'assertion avec 1 ligne de l'ensemble de données à partir d'excel, la boucle s'arrête et le reste de l'excel lignes ne sont pas prises pour l'exécution. L'exécution du programme s'arrête à ce point. Comment surmonter cela? Mon exigence est si de 10 ensemble de données(10 lignes dans excel), l'assertion échoue dans le 5e par exemple, il doit exécuter le programme avec le reste des ensembles de données et à la marque de fin de l'essai de l'exécution a ÉCHOUÉ.
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