selenium+python 自动化框架总结【二】

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_34817187/article/details/84661496

框架底部已经搭建差不多了,下来是页面类
1.在pageobject包下新建页面类,如登录页:Login.py

import os
from framework.basepage import BasePage
from framework.readexcle import ReadExcle
from framework.database import database
from framework.logger import Logger 
logger = Logger("loginpage").getlog() #加日志的
class LoginPage(BasePage,ReadExcle,database):#一定要继承这几个类
    '''
            加载页面元素位置
    '''
    global element,dir
    dir = os.path.abspath('.').split('src')[0]
    readelements=ReadExcle(dir+"/PageElements/xxxxxxxxx.xls")#表名
    element,listjs=readelements.get('登陆')#sheetname   
    
    '''  
            页面操作,调用了basepage里边的方法
    ''' 
    def input_name(self, text):#输入用户名
        self.input(element['input_username'], text)#需要调用数据库里的参数
    def input_pwd(self, text):#输入密码
        self.input(element['input_userpwd'], text)  
        
    def login_click(self): #点击登陆
        self.click(element['login_btn'])
    def dc_click(self): #点击登出
        self.click(element['dengchu']) 
    def refresh(self):#刷新
        self.click(element['refresh'])
        
    def all_operate(self,name,pwd): #所有操作组织在一起,输入用户名、密码、点击登陆
        self.input_name(name)
        self.input_pwd(pwd)
        self.login_click()
    def Login_data(self):#
        sql = "select username,userpwd,expect from login"
        for name,pwd,expect in self.fetch_all(sql): #将数据库中数据赋给name,pwd
                self.all_operate(name, pwd) 
                self.dc_click()
 

其他页面类似的写法
2.测试类
基本页面已经完成
在testsuit下建测试类login.py,就可以进行测试了:


import unittest
from framework.browser_engine import Browser
from framework.logger import Logger
from pageobject.主页.login_page import Login_Page
from framework.basepage import BasePage
logger = Logger("登录").getlog() 

class b_Login(unittest.TestCase):

    def setUp(self):  
        browse = Browser()  
        self.driver = browse.open_browser()
       
    def test_login(self): #测试用例
        login = Login_Page(self.driver)
        login.Login_data()
        
    def tearDown(self):  
        self.driver.quit()  

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

选择该文件右击–run as–python unit-test,运行,是不是成功了呢

猜你喜欢

转载自blog.csdn.net/sinat_34817187/article/details/84661496