参数化登录QQ空间实例

通过参数化的方式,登录QQ空间

实例源码:

# coding:utf-8
from selenium import webdriver
import unittest
import time
class QZone(unittest.TestCase):
    """登录QQ空间"""
    def setUp(self):
        self.driver = webdriver.Firefox()
        base_url = "https://i.qq.com"
        self.driver.get(base_url)
        self.driver.implicitly_wait(30)

    def login_qzone(self,user,password):
        """登录方法,账号密码参数化"""
        # self.driver.get(self.url + "/".format(self))
        self.driver.switch_to_frame('login_frame')
        self.driver.find_element_by_id('switcher_plogin').click()
        self.driver.find_element_by_id('u').clear()
        self.driver.find_element_by_id('u').send_keys(user)
        self.driver.find_element_by_id('p').clear()
        self.driver.find_element_by_id("p").send_keys(password)
        self.driver.find_element_by_id("login_button").click()
        time.sleep(3)

    def is_login_sucess(self):
        """判断是否登录成功"""
        try:
            result_text = self.driver.find_element_by_xpath(".//*[@id='headContainer']/div[2]/div[1]/span[1]").text
            print result_text
            return True
        except:
            return False

    def test_01(self):
        """登录case01"""
        self.login_qzone("1222222", "*********") #运行时输入对应的账号
        result = self.is_login_sucess()
        self.assertTrue(result)

    def test_02(self):
        """登录case02"""
        self.login_qzone("00000000", "*********")  # 运行时输入对应的账号
        result = self.is_login_sucess()
        self.assertTrue(result)

    def tearDown(self):
         self.driver.quit()

if __name__ == "__main__":
    unittest.main()

  源码分析:

1、采用单元测试框架unittest

2、setup()、steardown()函数是unittest框架中的起始和结束函数

3、login_qzone()函数是登录函数,用于登录QQ空间,登录时,账号密码采用了参数化的方式

4、is_login_success()函数是用于判断用户是否登录成功,若登录成功,返回登录的QQ空间的用户名,并打印出来

5、test01()、test02(),是测试用例,在测试用例中,调用登录函数进行登录操作,用登录验证函数来判断登录是否成功

遇到的坑:

报错截图

开始一直报这个错,不晓得什么原因,研究了很久;最后发现,是test01()、test02()函数下面注释的原因,去掉注释前面的u就可以正常运行了

虽然问题解决了,但是不晓得什么原因,请知道原因的大神,帮忙解释一下哦

posted @ 2017-12-15 17:29  Silence&QH  阅读(1668)  评论(0编辑  收藏  举报