以面向页面的开发模式,开发一个系统的自动化测试案例;
现有登录login_case, 要开发一个logout_case。
由于logout_case的先决条件是用户已经登录,所以必须要在logout_case的代码中先调用login_case。
请问,代码如何组织比较优雅?
以下是代码:
LoginPage
class Login(Page):
"""
用户登录
"""
url = "/honycloud/login.jsp"
login_username_loc = (By.ID, "idToken1")
login_password_loc = (By.ID, "idToken2")
login_button_loc = (By.ID, "loginButton_0")
def login_username(self, username):
self.find_element(*self.login_username_loc).send_keys(username)
def login_password(self, password):
self.find_element(*self.login_password_loc).send_keys(password)
def login_button(self):
self.find_element(*self.login_button_loc).click()
def user_login(self, username="badusername", password="badpassword"):
self.open()
self.login_username(username)
self.login_password(password)
self.login_button()
sleep(1)
login_case
class LoginTest(myunit.MyUnitTest):
"""
登录
"""
# test login
def user_login_verify(self, username="", password=""):
Login(self.driver).user_login(username, password)
def test_login(self):
self.user_login_verify(username="xxxx", password="ffff!")
page = Login(self.driver)
title = page.on_title()
self.assertEqual(title, u'工作台')