数据驱动,file_name报错

来源:5-4 项目中数据驱动实战并重构

精慕门9227090

2019-10-12

图片描述

写回答

3回答

Mushishi

2019-10-18

filter_path = os.path.join('../report/' + case_name + '.png')把你这个值打印出来

0
0

Mushishi

2019-10-13

你去把你图片答应出来,看一下,你图片的路径是否对

0
2
精慕门9227090
是不是def send_user_code(self, file_name): # get_code_text = GetCode(self.driver) # code = get_code_text.code_online(file_name) self.register_p.get_code_element().send_keys(file_name)这一块的原因,我把它注释掉就可以了
2019-10-14
共2条回复

精慕门9227090

提问者

2019-10-12

他提示我,保存图片没有拓展名,但是我已经加了,但是他还是会把,没有加拓展名的文件保存到我的case里,这里我的代码

class FirstDdtCase(unittest.TestCase):

   def setUp(self):
       self.driver = webdriver.Chrome()
       self.driver.get('http://www.5itest.cn/register?goto=/')
       self.driver.maximize_window()
       self.login = RegisterBusiness(self.driver)

   def tearDown(self):
       time.sleep(2)
       # _outcome.errors 可以拿到当前运行case和运行信息(list)
       for method_name, error in self._outcome.errors:  # 判断error有没有,如果有就进行截图
           if error:
               case_name = self._testMethodName  # ._testMethodName 有错误的时候直接拿到case的名字
               filter_path = os.path.join('../report/' + case_name + '.png')
               self.driver.save_screenshot(filter_path)
       self.driver.close()
       # print('这个是case的后置条件')

   @ddt.data(
       ['12', 'guansheng', '111111', 'code', 'user_email_error', '请输入有效的电子邮件地址'],
       ['@qq.com', 'guansheng', '111111', 'code', 'user_email_error', '请输入有效的电子邮件地址'],
       ['12@qq.com', 'guansheng', '111111', 'code', 'user_email_error', '请输入有效的电子邮件地址']
   )
   @ddt.unpack  # ddt.unpack 解包
   def test_register_case(self, email, username, password, code, assertCode, assertText):
       email_error = self.login.register_function(email, username, password, code, assertCode, assertText)
       self.assertFalse(email_error, '测试失败')  # assertFalse方法  判断 结果是否为False
   # if email_error is True:
   #     print('注册成功了,此条case执行失败')
# 通过assert判断是否为error


if __name__ == '__main__':
   file_path = os.path.join('../report/' + 'first_case1.html')
   f = open(file_path, 'wb')
   suite = unittest.TestLoader().loadTestsFromTestCase(FirstDdtCase)  # 添加case文件
   runner = HTMLTestRunner.HTMLTestRunner(stream=f, title='This is first report1', description=u'第一次测试报告1', verbosity=2)
   runner.run(suite)

保存信息如下:

ft1.1: C:\Users\admin\AppData\Local\Programs\Python\Python37-32\Lib\site-packages\selenium\webdriver\remote\webdriver.py:1031: UserWarning: name used for saved screenshot does not match file type. It should end with a `.png` extension
 "type. It should end with a `.png` extension", UserWarning)
Traceback (most recent call last):
 File "C:\Users\admin\AppData\Local\Programs\Python\Python37-32\Lib\site-packages\PIL\Image.py", line 2068, in save
   format = EXTENSION[ext]
KeyError: ''

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
 File "C:\Users\admin\AppData\Local\Programs\Python\Python37-32\Lib\site-packages\ddt.py", line 145, in wrapper
   return func(self, *args, **kwargs)
 File "C:/daima/case/first_ddt_case.py", line 41, in test_register_case
   email_error = self.login.register_function(email, username, password, code, assertCode, assertText)
 File "C:\daima\business\register_business.py", line 33, in register_function
   self.user_base(email, username, password, code)
 File "C:\daima\business\register_business.py", line 13, in user_base
   self.register_h.send_user_code(file_name)
 File "C:\daima\handle\register_handle.py", line 26, in send_user_code
   code = get_code_text.code_online(file_name)
 File "C:\daima\util\get_code.py", line 29, in code_online
   self.get_code_image(file_name)
 File "C:\daima\util\get_code.py", line 24, in get_code_image
   img.save(file_name)  # 保存图片
 File "C:\Users\admin\AppData\Local\Programs\Python\Python37-32\Lib\site-packages\PIL\Image.py", line 2070, in save
   raise ValueError("unknown file extension: {}".format(ext))
ValueError: unknown file extension:

0
2
qq_时间已到做回花韵_04140646
回复
慕UI7141847
我也遇到了
2021-11-07
共2条回复

Selenium3与Python3实战Web自动化测试框架

打破无项目经验、无框架经验瓶颈,实战Web自动化测试框架!

1883 学习 · 1093 问题

查看课程