Pytest assertion เกิดข้อผิดพลาดคือการปิดกั้นการทดสอบการประมวลผล

0

คำถาม

ฉันต้องทำตามรหัสซึ่งอ่านข้อมูลจากเว็บเบราว์เซอร์ภายนอก excel และชนป้ายของแต่เมื่อไหร่ก็ตามที่ฉันเจอข้อ assertion เกิดข้อผิดพลาดกับ 1 แถวรูปแบบแถบกำกับแกน y จาก excel ที่สำหรับวงหยุดและที่เหลือของ excel แถวไม่ได้ใช้สำหรับการประมวลผล. โปรแกรมการประมวลผลจะหยุดที่ความเข้าใจเรื่องนั้นหรอก วิธีที่จะเอาชนะเรื่องนี้? ของฉันสำคัญที่สุคือถ้าออกจาก 10 รูปแบบแถบกำกับแกน y(10 จำนวนแถวใน excel)ที่ assertion ล้มเหลวใน 5 หนึ่งตัวอย่างเช่น,มันควรจะประมวลผลโปรแกรมกับข้อมูลที่เหลืออยู่ตั้งค่าและตอนจบมาร์การทดสอบคดีการประมวลผลที่ล้มเหลว

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
api automation pytest python
2021-11-23 17:28:41
1

คำตอบที่ดีที่สุด

0

ปัญหาก็คือว่าคุณเป็นเลี้ยงที่เกิดข้อผิดพลาดมากสินะยอมให้มันกับส่งออกไปจากเรื่อง. เอา raise e เส้นตอนจบของรหัสของคุณและเพิ่มคลังจัดการเกิดข้อผิดพลาด/การทำปูมบันทึกที่จะผ่านรายงาน.

รายชื่อที่คุณเพิ่มเข้าไปอาจจะเป็นคนงานง่ายสุดทางออกแต่ใช้ไพธอน logging แพกเกจจะดีขึ้นแก้ปัญหาระยะยาวนะค่ะ

แก้ไข:จากพื้นฐานของคุณก่อนหน้านี้หมายเหตุ,ตั้งเป็นธงนั่นใช้ค่าปริยายเป็นเรื่องจริง/มประสบความสำเร็จซะด้วย ถ้ามันล้มเหลวครั้งหนึ่งมันก็คือโดยอัตโนมัติตั้งค่าที่ผิด/ความล้มเหลว

สำหรับตัวอย่าง:

def test1a():
    successFlag = True
...
    except Exception as e:
        successFlag = False

    return successFlag

2021-11-23 19:31:46

ลบที่เลี้ยงส่งอีเมล์แต่ช่วงเวลานั้นตลอดทดสอบการประมวลผลเป็นการแสดงที่ผ่านในการทดสอบรายงานซึ่งเป็น misleading.
Apratim Chaudhuri

เพิ่มการแก้ไขด้วยเป็นธงต่อการตามหา
Alex D

นี่เข้าใกล้ didnt ทำงานออกไปสำหรับฉัน หลังจากการประหารชีวิตที่ทดสอบคดีสถานะเป็นการแสดงที่ผ่านไป
Apratim Chaudhuri

ไม่มีอะไรในรหัสของคุณแสดงที่คุณตั้งค่าส่/ล้มเหลว functionality-ได้โปรดให้เพิ่มเติมรายละเอียดอกเหนือ"มันคือล้มเหลว".
Alex D

ในภาษาอื่นๆ

หน้านี้อยู่ในภาษาอื่นๆ

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................

ดังอยู่ในนี้หมวดหมู่

ดังคำถามอยู่ในนี้หมวดหมู่