importddtimportunittestfromseleniumimportwebdriverimportHTMLTestRunnerimportosimporttimefromtest_ddt.excel_dataimportExcelUtil
ex = ExcelUtil()
data = ex.get_data()#获取excel数据@ddt.ddtclassFirstDdtCase(unittest.TestCase):defsetUp(self):self.driver = webdriver.Chrome()self.driver.get('http://www.XXX.cn/register')deftearDown(self):
time.sleep(2)self.driver.close()@ddt.data(*data)deftest_register_case(self, data):#将获取到的excel数据赋值给email, username, password, code, assertCode, assertTextemail, username, password, code, assertCode, assertText = data
email_error =self.register_function(email, username, password, code, assertCode, assertText)self.assertFalse(email_error,'邮箱错误')#操作步骤defuser_base_ddt(self, email, name, password, code):self.driver.find_element_by_id('register_email').send_keys(email)self.driver.find_element_by_id('register_nickname').send_keys(name)self.driver.find_element_by_id('register_password').send_keys(password)self.driver.find_element_by_id('captcha_code').send_keys(code)self.driver.find_element_by_id('register-btn').click()#获取文字信息defget_user_text_ddt(self, info, user_info):try:ifinfo =='user_email_error':
text =self.driver.find_element_by_id('register_email-error').textiftext != user_info:
text =None
except:
text =None
returntext#检验邮箱是否校验成功defregister_function(self, email, username, password, code, assertCode, assertText):self.user_base_ddt(email, username, password, code)ifself.get_user_text_ddt(assertCode, assertText) ==None:return True
else:return False
if__name__ =='__main__':
current_path = os.path.dirname(os.getcwd())
file_path = os.path.join(current_path +"/report/"+"first_case1.html")
f =open(file_path,'wb')
suite = unittest.TestLoader().loadTestsFromTestCase(FirstDdtCase)
runner = HTMLTestRunner.HTMLTestRunner(stream=f,title="This is first report1",description=u"这个是我们第一次测试报告1",verbosity=2)
runner.run(suite)