版权声明:本文为博主原创文章,未经博主允许不得转载。 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,运行,是不是成功了呢