selenium+python 登录实例(06)

2017-08-21  测试窝初学者 

前言

前几章节学习各种元素定位的方法,下面以登录51cto网站作为例。

首先,我们需要设计一下测试模板,首先我简单分为Set_up、Test_step、Teardown三个部分。


1.Set_up#初始化工作

2.Test_step#执行步骤

3.Teardown#清理工作


主要工作在登录部分,也就是我们的Test_step部分,Teardown作为清理工作,无论上面的上面步骤,都不应该影响到Teardown的执行。'


1)Set_up

由于我们例子只是登录51cto,所以暂时不需要初始化工作。

def Set_up(self):

pass


2)Test_step()

    def login(self,url,user,passwd):#登录51cto网站

        driver.get(url)

        driver.implicitly_wait(30)

        try:

            driver.find_element_by_css_selector("input#loginform-username").send_keys(user)

            driver.find_element_by_css_selector("input#loginform-password").send_keys(passwd)

            driver.find_element_by_xpath("//*[@name='login-button']").click()

            driver.get_screenshot_as_file("/Users/zhangxiaojun/project/image/login.png")

            t = driver.find_element_by_css_selector(".login-suc>a:nth-child(2)").text #检测登录用户为testwo_py

        except NoSuchElementException as e:

            print(e)

        if t==user:

            print("登录成功")

        else:

            print(“登录失败”)


3)Teardown

    def teardown(self):#退出51cto登录,关闭浏览器

        try:

            driver.find_element_by_css_selector(".login-suc>a:nth-child(6)").click()

        except NoSuchElementException as e:

            print(e)

        driver.quit()


4)合并代码

import time

from selenium import webdriver

from selenium.common.exceptions import *

class Test_step(object):

    def __init__(self):

        self.driver = webdriver.Chrome()

    def set_up(self):

        pass

    def Test_step(self,url,user,passwd):#登录51cto网站

        self.driver.get(url)

        self.driver.implicitly_wait(30)

        try:

            self.driver.find_element_by_css_selector("input#loginform-username").send_keys(user)

            self.driver.find_element_by_css_selector("input#loginform-password").send_keys(passwd)

            self.driver.find_element_by_xpath("//*[@name='login-button']").click()

            self.driver.get_screenshot_as_file("/Users/zhangxiaojun/project/image/login.png")

            t = driver.find_element_by_css_selector(".login-suc>a:nth-child(2)").text #检测登录用户为testwo_py

        except NoSuchElementException as e:

            print(e)

        if t==user:

            print("登录成功")

        else:

            print("登录失败")

    def teardown(self):#退出51cto登录,关闭浏览器

        try:

            self.driver.find_element_by_css_selector(".login-suc>a:nth-child(6)").click()

        except NoSuchElementException as e:

            print(e)

        self.driver.quit()

if __name__ =="__main__":

    url="http://home.51cto.com/index?reback=http://www.51cto.com/"

    user = "testwo_py"

    passwd = "testwo@0"

    test = Test_step()

    test.Test_step(url=url,user=user,passwd=passwd)

    test.teardown()


声明:欢迎大家加入测试窝官方交流群(316016449),如上述内容存在错误,请帮忙指出,我会及时更正。



377°/3756 人阅读/2 条评论 发表评论

邓智群  2017-08-21

我已经进步了很多


测试窝初学者  2017-08-21

@邓智群 哈哈哈,我也进步了一点点


登录 后发表评论