请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

老师,报错TypeError: object of type 'float' has no len()

图片描述
老师,报错TypeError: object of type ‘float’ has no len()不知道什么原因造成的,现象是没有输入password,也没有生成HTML报告:
图片描述
【具体代码如下:】请老师帮我看看:
#coding=utf-8
import ddt
import os
import unittest
import warnings
from selenium import webdriver
from util.excel_util import ExcelUtil
import HTMLTestRunner
from business.register_business import RegisterBusiness

邮箱、用户名、密码、验证码、错误信息定位元素、错误提示信息

#判断元素的code:assertCode
#错误提示信息:assertText
#数据驱动如何运用到注册页面,我们需要重构哪些信息?
#以下面这个方法拿到数据
ex = ExcelUtil()
data = ex.get_data() #get_data()是result结果中的那一串数据
file_name = “F:/test_project/test_images/test01.png”
@ddt.ddt
class FirstDdtCase(unittest.TestCase):
def setUp(self):
warnings.simplefilter(‘ignore’, ResourceWarning)
self.driver = webdriver.Chrome()
self.driver.get(‘http://www.5itest.cn/register’)
self.login = RegisterBusiness(self.driver)
print(‘这个是case的前置条件’)
#后置做的事情仅仅是关闭浏览器
def tearDown(self):
for method_name,error in self._outcome.errors:
if error:
case_name = self._testMethodName
file_path = os.path.join(os.path.abspath(os.path.dirname(os.getcwd())) + ‘/report/’+ case_name + ‘.png’)
self.driver.save_screenshot(file_path)
self.driver.close()
print(‘这个是case的后置条件’)

# @ddt.data(
#     ['12','rww01', '111111','code','user_email_error','请输入有效的电子邮件地址'],
#     ['@qq.com', 'rww01', '111111', 'code', 'user_email_error', '请输入有效的电子邮件地址'],
#     ['12@qq.com', 'rww01', '111111', 'code', 'user_email_error', '请输入有效的电子邮件地址']
#     )
# @ddt.unpack  # 解包
#从data中去获取 Excel的数据,用list赋值的方式把data传进去。
@ddt.data(*data)
# 名字从test_login_email_error改成test_register_case
def test_register_case(self,data):
    email, username, password, code, assertCode, assertText = data
    email_error = self.login.register_function(email,username,password,code,assertCode,assertText)
    # 通过assert  判断是否是  error
    return self.assertFalse(email_error, "test_login_email_error用例执行了")

if name == ‘main’:
file_path = os.path.join(os.path.abspath(os.path.dirname(os.getcwd())) + ‘/report/’ + ‘first_case01.html’)
# 把file_path打开,而且要以读写的模式
f = open(file_path, ‘wb’)
suite = unittest.TestLoader().loadTestsFromTestCase(FirstDdtCase)
runner = HTMLTestRunner.HTMLTestRunner(stream=f, title=‘this is first report2’, description=‘这是我们第二次测试报告’,
verbosity=2)
runner.run(suite)

【register_function】

def register_function(self,email,username,password,code,assertCode,assertText):
    self.user_base(email, username, password, code)
    if self.register_h.get_user_text(assertCode, assertText) == None:
        # print('邮箱检验不成功')
        return True
    else:
        return False

正在回答 回答被采纳积分+3

插入代码

1回答

Mushishi 2020-08-06 17:36:05

你把你register handle 层的send value 的元素找到的啥,你看你那个错误of type ‘float’ has no len()。元素对象不对

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号