执行程序报错:IndexError: Cannot choose from an empty sequence,怎么去处理。

我写了一个程序,想要去将数据进行分离:方法是:函数传参。

想着我只要定义一个函数并传参,然后实例化这个函数就可以。

我这里定义的是一个列表。

这是一个测试用例:

#   测试列举出KID
@allure.feature("测试用例1:获取kid")
@allure.severity(allure.severity_level.CRITICAL)
def test_kid(list_kid=[]):
    select_keyId = random.choice(list_kid)
    select_keyID()
    #判断是否存在,存在就截图
    # reponse = driver.find_elements_by_xpath(' //*[@id="iform"]/table/tbody/tr[2]/td/table/tbody/tr[67]/td/table/tbody/tr[2]/td[2]/div/text()')    # 这里xpth中是文本格式的,selenium的find方法无法获取到text()
    #   因此可以这样:拆分:先获取到text文本上一层的,再转化为文本:
    reponse = driver.find_element_by_class_name("forcewrap").text
    if len(reponse) != 0 and select_keyId in reponse:
        if Path(kid_scr_file).is_dir():
            print(" 测试通过!返回值为:%s" %reponse)
            driver.save_screenshot(kid_screen_pic_file)
            time.sleep(2)
        else:
            Path(kid_scr_file).mkdir()
            print("重新创建截图文件夹!")
    else:
        print("未获取到reponse,测试失败!")
#   测试与kid相关的X509证书
@allure.feature("测试用例2:获取与kid相关的X509证书")
@allure.severity(allure.severity_level.CRITICAL)
def test_x509(list_keyId=[]):
    select_keyId = random.choice(list_keyId)

    select_x509()
    ele_KeyID = driver.find_element_by_xpath('//*[@id="sg_id"]')
    ele_KeyID.click()
    ele_KeyID.send_keys(select_keyId)
    ele_test = driver.find_element_by_xpath('//*[@id="SUBMIT"]')
    ele_test.click()
    #   判断是否有返回值,有才能进行下一步:截图
    reponse = driver.find_element_by_class_name("forcewrap").text
    time = driver.find_element_by_class_name("listlr").text
    if len(reponse) != 0 and len(time) != 0 :
        print(" 选取的KID为 %s ,有返回值,测试成功!" % select_keyId)
        print("返回值为: %s" % reponse)
        driver.save_screenshot(x506_screen_pic_file)
        # #   滚动页面 截图
        scoll()
        driver.save_screenshot(x506_screen_pic_file)
    else:
        print("没有返回值,可能存在缺陷,请手工检查!")
        driver.save_screenshot(x506_screen_pic_file_wrong)

 

数据传递:

list_keyId1 = ['298359647630d60de36cdf2262614424','56afd486d67036725b761921fa7617f6','e9dec86f4eb23b59dce769a00b653ecc','e0e7c138dbba879fde8e7bcf4f7d5de2']
#   测试用例1:列举出KID
test_kid(list_keyId1)
#   测试用例2:获取与kid相关的x509证书
test_x509(list_keyId1)

 

通过pycharm中的terminal控制台执行程序:pytest E:\pycharm\run\Netone\Data\data.py

发现有报错,如下:

self = <random.Random object at 0x030887C8>, seq = []

    def choice(self, seq):
        """Choose a random element from a non-empty sequence."""
        try:
            i = self._randbelow(len(seq))
        except ValueError:
>           raise IndexError('Cannot choose from an empty sequence') from None
E           IndexError: Cannot choose from an empty sequence

d:\python\lib\random.py:258: IndexError

 

这个怎么去处理,百度很多,无法解决。

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值