#coding=utf-8
'''
Created on 2017-7-4
@auther:Qigege
project:登录测试用例
'''
import unittest
from selenium import webdriver
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary
import time
class LoginCase(unittest.TestCase):
def setUp(self):
binary=FirefoxBinary('F:\\ff\\MozillaFirefox50.1.0\\firefox.exe')
self.driver=webdriver.Firefox(firefox_binary=binary)
self.url='https://passport.cnblogs.com/user/signin?ReturnUrl=https%3A%2F%2Fwww.cnblogs.com%2F'
#定义登录的方法
def login(self,username,password):
driver=self.driver
url=self.url
driver.get(url)
driver.find_element_by_id('input1').send_keys(username)
driver.find_element_by_id('input2').send_keys(password)
driver.find_element_by_id('signin').click()
#@unittest.skip(u'条件均正确暂时跳过')
def test_login_success(self):
'''username and password right'''
self.login('Qigege','******')
time.sleep(2)
link=self.driver.find_element_by_link_text('Qigege')
self.assertTrue('Qigege' in link.text)
#截图
self.driver.get_screenshot_as_file('E:\\py-sql\\example\\pro5_note\\user_pwd.jpg')
print u'条件均正确——测试用例'
#@unittest.skip(u'密码错误暂时跳过')
def test_login_pwd_error(self):
'''username right and password error'''
self.login('Qigege','123123')
time.sleep(2)
link=self.driver.find_element_by_id('tip_btn')
self.assertTrue(u'用户名或密码错误',link.text)
self.driver.get_screenshot_as_file('E:\\py-sql\\example\\pro5_note\\err_pwd.jpg')
print u'密码错误——测试用例'
def tearDown(self):
time.sleep(2)
print u'测试完毕!'
self.driver.quit()
# 方案一
if __name__=='__main__':
unittest.main()
#方案二
#2.1 构建测试套件并加载测试用例
suite=unittest.TestSuite()
suite.addTest(LoginCase('test_case1'))
suite.addTest(LoginCase('test_case2'))
#2.2 实例化TextTestRunner类并运行测试套件
runner=unittest.TextTestRunner()
runner.run(suite)
#方案三
#3.1 构造测试集(简化了方案二中先创建测试套件再依次加载用例的过程)
#当前目录下包含用例的unit_*.py文件
test_dir='./'
discover=unittest.defaultTestLoader.discover(test_dir,pattern='unit_*.py')
#3.2 实例化TextTestRunner类并运行测试集
runner=unittest.TextTestRunner()
runner.run(discover)