我写了一个程序,想要去将数据进行分离:方法是:函数传参。
想着我只要定义一个函数并传参,然后实例化这个函数就可以。
我这里定义的是一个列表。
这是一个测试用例:
# 测试列举出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 =
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
这个怎么去处理,百度很多,无法解决。