51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3125|回复: 5
打印 上一主题 下一主题

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

[复制链接]
  • TA的每日心情
    无聊
    2 小时前
  • 签到天数: 528 天

    连续签到: 1 天

    [LV.9]测试副司令

    跳转到指定楼层
    1#
    发表于 2021-1-7 11:00:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    1测试积点
    我写了一个程序,想要去将数据进行分离:方法是:函数传参。

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

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

    这是一个测试用例:
    1. #   测试列举出KID
    2. @allure.feature("测试用例1:获取kid")
    3. @allure.severity(allure.severity_level.CRITICAL)
    4. def test_kid(list_kid=[]):
    5.     select_keyId = random.choice(list_kid)
    6.     select_keyID()
    7.     #判断是否存在,存在就截图
    8.     # 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()
    9.     #   因此可以这样:拆分:先获取到text文本上一层的,再转化为文本:
    10.     reponse = driver.find_element_by_class_name("forcewrap").text
    11.     if len(reponse) != 0 and select_keyId in reponse:
    12.         if Path(kid_scr_file).is_dir():
    13.             print(" 测试通过!返回值为:%s" %reponse)
    14.             driver.save_screenshot(kid_screen_pic_file)
    15.             time.sleep(2)
    16.         else:
    17.             Path(kid_scr_file).mkdir()
    18.             print("重新创建截图文件夹!")
    19.     else:
    20.         print("未获取到reponse,测试失败!")

    21. #   测试与kid相关的X509证书
    22. @allure.feature("测试用例2:获取与kid相关的X509证书")
    23. @allure.severity(allure.severity_level.CRITICAL)
    24. def test_x509(list_keyId=[]):
    25.     select_keyId = random.choice(list_keyId)

    26.     select_x509()
    27.     ele_KeyID = driver.find_element_by_xpath('//*[@id="sg_id"]')
    28.     ele_KeyID.click()
    29.     ele_KeyID.send_keys(select_keyId)
    30.     ele_test = driver.find_element_by_xpath('//*[@id="SUBMIT"]')
    31.     ele_test.click()
    32.     #   判断是否有返回值,有才能进行下一步:截图
    33.     reponse = driver.find_element_by_class_name("forcewrap").text
    34.     time = driver.find_element_by_class_name("listlr").text
    35.     if len(reponse) != 0 and len(time) != 0 :
    36.         print(" 选取的KID为 %s ,有返回值,测试成功!" % select_keyId)
    37.         print("返回值为: %s" % reponse)
    38.         driver.save_screenshot(x506_screen_pic_file)
    39.         # #   滚动页面 截图
    40.         scoll()
    41.         driver.save_screenshot(x506_screen_pic_file)
    42.     else:
    43.         print("没有返回值,可能存在缺陷,请手工检查!")
    44.         driver.save_screenshot(x506_screen_pic_file_wrong)
    复制代码
    数据传递,调用函数:
    1. list_keyId1 = ['298359647630d60de36cdf2262614424','56afd486d67036725b761921fa7617f6','e9dec86f4eb23b59dce769a00b653ecc','e0e7c138dbba879fde8e7bcf4f7d5de2']
    2. #   测试用例1:列举出KID
    3. test_kid(list_keyId1)
    4. #   测试用例2:获取与kid相关的x509证书
    5. test_x509(list_keyId1)
    复制代码
    发现有报错,如下:

    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


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


    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2024-10-22 14:23
  • 签到天数: 1007 天

    连续签到: 1 天

    [LV.10]测试总司令

    2#
    发表于 2021-1-8 10:54:11 | 只看该作者
    这个只能等大佬也帮忙回答了,搬好小板凳来学习。
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    4 小时前
  • 签到天数: 2813 天

    连续签到: 1 天

    [LV.Master]测试大本营

    3#
    发表于 2021-1-8 11:05:23 | 只看该作者
    学习
    回复

    使用道具 举报

  • TA的每日心情
    擦汗
    2024-9-30 15:02
  • 签到天数: 751 天

    连续签到: 2 天

    [LV.10]测试总司令

    4#
    发表于 2021-1-8 13:44:12 | 只看该作者
    学习
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    3 小时前
  • 签到天数: 1802 天

    连续签到: 1 天

    [LV.Master]测试大本营

    5#
    发表于 2021-1-8 14:24:16 | 只看该作者
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    3 小时前
  • 签到天数: 992 天

    连续签到: 1 天

    [LV.10]测试总司令

    6#
    发表于 2021-1-8 14:47:51 | 只看该作者
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-18 12:31 , Processed in 0.067498 second(s), 21 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表